31// This file is not guaranteed to be API/ABI stable. Include it at your own risk.
32//
33// WARNING WARNING WARNING
34
35namespace rbu
36 {
37# if defined(_MSC_VER)
38# pragma pack(push,1)
39# endif
40
41/* RBU packets are 4 KB-aligned and consist of a header and data. The packet header contains the necessary information for BIOS to find the packets in memory, and assemble them in proper order. */
63 1.All values in the packet header except PktNum must be the same for all packets in a set with the following exception:
64 -- Packet 0 may have a different packet size (PktSize).
65 -- checksums
66 2.Packet 0 data does not contain RBU data. Packet 1 contains the first chunk of RBU data.
67 3.Packet data begins immediately after the header. Packet data size and offset can be calculated from PktSize and HdrSize.
68 4.Reserved fields are 0.
69 5.If multiple packets sets are written to memory, all packet sets must be identical.
70 6.All packets must start on 4 KB boundaries.
71 7.All packets must be placed in non-paged memory.
72 8.The maximum size of a packet is 64 MB.
73 9.The maximum size of a packet header is 4 KB.
74 10.The maximum number of packets is 64 KB - 1.
75 11.CPU INIT# must be immediately asserted (e.g. via OS shutdown/restart) after the RBU packet set is placed in memory.
76 12.PktChk is the value resulting in a zero sum of all packet words (header and data).
77 13.PktSetId uniquely identifies a packet set. BIOS aborts the packet search if all packets do not have the same PkSetId. Example identifiers: a 4-character ASCII ID string (e.g. “_A00”), a 4-byte hash value (e.g. CRC).
93 Packet 0 is reserved for packet set information. Packet 0 data consists of data items -- each item consists of an info byte followed by the actual data item. If bit 0 of the info byte is 1, the actual data starting at the next byte is present. If bit 0 is 0, the data is not present.
94
95 The system flash password is currently defined as the admin or setup password.
96
97 BIOS reject the packet set when:
98 1.The packet set flash password CRC and the system flash password CRC do not match.
99 2.The packet set flash password CRC is not present but the system flash password is present.