%ifndef BOOT_LAYOUT_H %define BOOT_LAYOUT_H %define S1_ADDR 0x7c00 %define S2_DATA_LEN 32 %define S2_TEXT_OFFSET S2_DATA_LEN %define S2_LOAD_ADDR 0x8200 %define S2_DATA S2_LOAD_ADDR %define S2_ENTRYPOINT (S2_DATA_ADDR + S2_DATA_LEN) %define GDT_FLAT_ADDR 0xe000 %define S3_LOAD_ADDR 0x10000 ; %define MEMMAP 0x6a00 ; %define MEMMAP_END S2_ADDR ; %define MEMMAP_ENT_SIZE 32 ; %define MEMMAP_CAP ((MEMMAP_END - MEMMAP) / MEMMAP_ENT_SIZE) %define REAL_GLOBALS 0x4000 %define REAL_GLOBALS_END 0x6a00 %define REAL_STACK_BASE REAL_GLOBALS %define S2_MAGIC 0x544e4150 %endif