Beyond BIOS: Implementing the Unified Extensible Firmware Interface with Intel's Framework

Most EFI interfaces return an EFI_STATUS code. Table B.1 lists the status code ranges. Tables B.2, B.3, and B.4 list these codes for success, errors, and warnings, respectively. Error codes also have their highest bit set, so all error codes have negative values. The range of status codes that have the highest bit set and the next to highest bit clear are reserved for use by EFI. The range of status codes that have both the highest bit set and the next to highest bit set are reserved for use by OEMs. Success and warning codes have their highest bit clear, so all success and warning codes have positive values. The range of status codes that have both the highest bit clear and the next to highest bit clear are reserved for use by EFI. The range of status code that have the highest bit clear and the next to highest bit set are reserved for use by OEMs.
| IA-32 Range | Intel Itanium Architecture Range | Description |
|---|---|---|
| 0x00000000- 0x3fffffff | 0x0000000000000000- 0x3fffffffffffffff | Success and warning codes reserved for use by EFI. See Tables B.2 and B.4 for valid values in this range. |
| 0x40000000- 0x7fffffff | 0x4000000000000000- 0x7fffffffffffffff | Success and warning codes reserved for use by OEMs. |
| 0x80000000- 0xbfffffff | 0x8000000000000000- 0xbfffffffffffffff | Error codes reserved for use by EFI. See Table B.3 for valid values for this range. |
| 0xc0000000- 0xffffffff | 0xc000000000000000- 0xffffffffffffffff | Error codes reserved for use by OEMs. |
| Mnemonic | Value | Description |
|---|