Specifications

116
HiPermanentMemory Address and Size
HiPermanentMemoryAddress HiPermanentMemorySize Conclusion
0 0 No high memory available
for permanent allocation.
0 S (<> 0) No high memory available
for permanent allocation.
N (<> 0 and < 1MB) 0 No high memory available
for permanent allocation.
N (<> 0 and < 1MB) S (<> 0) No high memory available
for permanent allocation.
N (<> 0 and >= 1MB) 0 No high memory available
for permanent allocation.
N (<> 0 and >= 1MB) S (<> 0)
High memory region from
N to (N + S
1) can be
used for permanent
allocation.
The E820Pointer, IrqRoutingTablePointer, and
MpTablePtr values are generated by calling the
Compatibility16GetTableAddress() function and converted to 32-
bit physical pointers.
Compatibility16 Functions
These functions are accessed by the EfiCompatibility code using the
EFI_LEGACY_BIOS_PROTOCOL.FarCall86() call with the segment:offset
equivalent of the 32-bit physical entry point for legacy EFI services.
Note that the
EFI_COMPATIBILITY_FUNCTIONS are for IA-32. Unused registers on
input and on output are undefined and not guaranteed to be preserved. Equivalents for
the Itanium® processor family are not defined at this time.
Register AX denotes the function that is requested and the rest
of the registers are function dependant.
Functions 0x00000x7FFF are standard Compatibility16 functions.
Functions 0x80000xFFFF are OEM-defined Compatibility16 functions and outside the
scope of this document.
3.3.3.1 EFI Compatibility Functions
EFI_COMPATIBILITY_FUNCTIONS
Summary
Functions to communicate between the EfiCompatibility and Compatability16 code.