llvm-project
0dfa6b3b - [libc][uefi] Encode the error bit in EFI_STATUS error codes (#235071)

Commit
1 day ago
[libc][uefi] Encode the error bit in EFI_STATUS error codes (#235071) Set the high bit on the EFI_STATUS error macros through new EFI_ERROR_BIT, EFIERR and EFI_ERROR helpers, and use them directly in the errno translation table, so that error codes match the values returned by UEFI firmware while warnings remain plain values. Add EFI_UNSUPPORTED and EFI_BUFFER_TOO_SMALL to the table, map unrecognized error statuses to EIO and unrecognized warnings to success, and cover the conversions with a unit test. Include the standard boolean header in the UEFI type definitions that use bool, so that C translation units prior to C23 can include them.
Author
Parents
Loading