calculate memmap entry len, dump entries

This commit is contained in:
pantonshire committed 2024-07-24 09:25:25 +01:00
1 parent fdf6d81b2e
commit f4085f1069
2 files changed
+169 -26

No files matched your search

+13 -4
View File
@@ -1,10 +1,10 @@
%define BOOT0_LOADPOINT 0x7c00
%define BOOT1_LOADPOINT 0x8200
%define MEMMAP 0x6a00
%define MEMMAP_END BOOT0_LOADPOINT
%define MEMMAP_ENT_SIZE 24
%define MEMMAP_CAP ((MEMMAP_END - MEMMAP) / MEMMAP_ENT_SIZE)
%define MEMMAP 0x6a00
%define MEMMAP_END BOOT0_LOADPOINT
%define MEMMAP_ENT_SIZE 32
%define MEMMAP_CAP ((MEMMAP_END - MEMMAP) / MEMMAP_ENT_SIZE)
%define GLOBALS 0x4000
%define GLOBALS_END MEMMAP
@@ -33,6 +33,15 @@
; ASCII string "SMAP", which is used by e820 as a magic number argument and return value.
%define E820_MAGIC 0x534d4150
; Size of entry returned by e820. This is less than MEMMAP_ENT_SIZE because we add some fields of
; our own.
%define E820_ENTRY_SIZE 24
%define MEMMAP_ENT_FIELD_BASE 0x00
%define MEMMAP_ENT_FIELD_LEN 0x08
%define MEMMAP_ENT_FIELD_TYPE 0x10
%define MEMMAP_ENT_FIELD_EXT 0x14
%define MEMMAP_ENT_FIELD_END 0x18
; boot0 base stack frame variable offsets / globals
; (we use the same offsets once we copy the variables to the globals section)