Detecting Memory (x86): Difference between revisions

Jump to navigation Jump to search
m
I have found an bios that use 24 byte entrie for int 0x15 function 0xe820
[unchecked revision][unchecked revision]
(→‎BIOS Function: INT 0x15, AX = 0xE881: no, that link doesn't help)
m (I have found an bios that use 24 byte entrie for int 0x15 function 0xe820)
Line 60:
In reality, this function returns an unsorted list that may contain unused entries and (in rare/dodgy cases) may return overlapping areas.
Each list entry is stored in memory at ES:DI, and DI is <b>not</b> incremented for you. The format of an entry is 2 uint64_t's and a uint32_t in the 20 byte version,
plus one additional uint32_t in the 24 byte ACPI 3.0 version (but nobody has ever seen a 24 byte one).
It is probably best to always store the list entries as 24 byte quantities -- to preserve uint64_t alignments, if nothing else. (Make sure to set
that last uint64_t to 1 before each call, to make your map compatible with ACPI).
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu