Most UEFI 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 UEFI. 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 UEFI. The range of status code that have the highest bit clear and the next to highest bit set are reserved for use by OEMs.
Table B.1: EFI_STATUS Code Ranges
IA-32 Range | Intel® Itanium® ArchitectureRange | Description |
0x00000000 -0x1fffffff |
0x0000000000000000- 0x1fffffffffffffff |
Success and warning codes reserved for use by UEFI main specification. See Tables B.2 and B.4 for valid values in this range. |
0x20000000 - 0x3fffffff |
0x2000000000000000- 0x3fffffffffffffff |
Success and warning codes reserved for use by the Platform Initialization Architecture Specification. |
0x40000000 -0x7fffffff |
0x4000000000000000- 0x7fffffffffffffff |
Success and warning codes reserved for use by OEMs. |
0x80000000 -0x9fffffff |
0x8000000000000000- 0x9fffffffffffffff |
Error codes reserved for use by the UEFI main specification. See Table B.3 for valid values for this range. |
0xa0000000 - 0xbfffffff |
0xafffffffffffffff- 0xbfffffffffffffff |
Error codes reserved for use by the Platform Initialization Architecture Specification. |
0xc0000000 -0xffffffff |
0xc000000000000000- 0xffffffffffffffff |
Error codes reserved for use by OEMs. |
Table B.2: EFI_STATUS Success Codes (High Bit Clear)
Mnemonic | Value | Description |
EFI_SUCCESS | 0 | The operation completed successfully. |
Table B.3: EFI_STATUS Error Codes (High Bit Set)
Table B.4: EFI_STATUS Warning Codes (High Bit Clear)
Mnemonic | Value | Description |
EFI_WARN_UNKNOWN_GLYPH | 1 | The Unicode string contained one or more characters that the device could not render and were skipped. |
EFI_WARN_DELETE_FAILURE | 2 | The handle was closed, but the file was not deleted. |
EFI_WARN_WRITE_FAILURE | 3 | The handle was closed, but the data to the file was not flushed properly. |
EFI_WARN_BUFFER_TOO_SMALL | 4 | The resulting buffer was too small, and the data was truncated to the buffer size. |