%ifndef BOOT_S1_VARS_H %define BOOT_S1_VARS_H ; Stage 1 base stack frame variable offsets / globals ; (we use the same offsets once we copy the variables to the globals section) ; ------------------------------------------------------------------------------------------------- ; The boot drive number given to us by the BIOS. %define BOOT_DRIVE 0x02 ; Boot drive geometry %define SECTORS_PER_TRACK 0x04 %define N_HEADS 0x06 ; Starting LBA of the GPT partition entries array. %define GPT_ENTRIES_START_LBA 0x08 ; Number of GPT entries, saturated to 16 bits. %define GPT_N_ENTRIES_16 0x0a ; Number of sectors to advance by once we've read every GPT entry in the current sector. %define GPT_SECTOR_STRIDE 0x0c ; Number of bytes to advance by in the current sector once we've read a GPT entry. %define GPT_BYTE_STRIDE 0x0e ; Number of GPT entries which can fit in a single sector. %define GPT_ENTRIES_PER_SECTOR 0x10 %define GPT_CURRENT_ENTRY_IDX 0x12 %define GPT_SECTOR_ENTRY_IDX 0x14 %define GPT_SECTORS_LOADED 0x16 %define GPT_CURRENT_LBA 0x18 %define STAGE_2_GPT_ENTRY_ADDR 0x1a %endif