Copyright (c) 2021-2024, Kilian Kegel. All rights reserved.
SPDX-License-Identifier: GNU General Public License v3.0
Win32 API for UEFI Shell
It provides Win32 API to enable porting of Windows projects to UEFI Shell.
The function set is extended on demand only. It is not (yet) intended to provide
the entire KERNEL32 API.
Reimplement Win32 API based on Standard C Library (Toro C Library) and UEFI API.
https://github.com/KilianKegel/HowTo-setup-an-UEFI-Development-PC#howto-setup-an-uefi-development-pc
- add
RSMB
-support forGetSystemFirmwareTable()
- NOTE: The Windows-compatible implementation returns a pointer to
RAWSMBIOSDATA
. The true SMBIOS data is preceded by that structure.
- NOTE: The Windows-compatible implementation returns a pointer to
typedef struct _RAWSMBIOSDATA
{
BYTE Used20CallingMethod;
BYTE SMBIOSMajorVersion;
BYTE SMBIOSMinorVersion;
BYTE DmiRevision;
DWORD Length;
BYTE SMBIOSTableData[];
}RAWSMBIOSDATA;
- consolidate to Toro C Library
- from now on use SystemTable and ImageHandle from Toro C Library
EFI_SYSTEM_TABLE* _cdegST
,EFI_HANDLE _cdegImageHandle
- remove extern dependancy from
EFI_SYSTEM_TABLE* pEfiSystemTable
,EFI_HANDLE hEfiImageHandle
- from now on use SystemTable and ImageHandle from Toro C Library
- add dedicated
Debug
/Release
configurations
- simplify interaction of various VISUAL-xyz components, unitize directory structure
and import/export interface for those solutions
- output folder for Configuration Type: static Library is commonly $(SolutionPath)\lib to share one single library folder for all imported subprojects
- adjust include path to be $(ProjectDir) relative
- add
WINAPI
interface for
- suppress build warning MSB8012 due to redirected library output path
- add functions:
- all projects build with minor compiler warnings
- all projects pass simple tests in the UEFI Shell
AcpiDump.efi
dumps all ACPI tablesAslCompiler.efi
processesbadcode.asl
- further and comprehensive tests should be done by an ACPI expert