1 #ifndef _ROMBIOS_CONFIG_H 2 #define _ROMBIOS_CONFIG_H 3 4 /* Memory map. */ 5 #define LOWHEAP_PHYSICAL_ADDRESS 0x00010000 6 #define LOWHEAP_SIZE 0x00070000 7 8 #define OPTIONROM_PHYSICAL_ADDRESS 0x000C8000 9 #define OPTIONROM_PHYSICAL_END 0x000EA000 10 #define BIOS_INFO_PHYSICAL_ADDRESS 0x000EA000 11 #define ACPI_PHYSICAL_ADDRESS 0x000EA020 12 #define E820_PHYSICAL_ADDRESS 0x000EA100 13 #define SMBIOS_PHYSICAL_ADDRESS 0x000EB000 14 #define SMBIOS_PHYSICAL_END 0x000F0000 15 16 #define ROMBIOS_PHYSICAL_ADDRESS 0x000F0000 17 18 /* Offsets from E820_PHYSICAL_ADDRESS. */ 19 #define E820_NR_OFFSET 0x0 20 #define E820_OFFSET 0x8 21 22 #define E820_NR ((uint16_t *)(E820_PHYSICAL_ADDRESS + E820_NR_OFFSET)) 23 #define E820 ((struct e820entry *)(E820_PHYSICAL_ADDRESS + E820_OFFSET)) 24 25 /* Xen Platform Device */ 26 #define XEN_PF_IOBASE 0x10 27 #define PFFLAG_ROM_LOCK 1 /* Sets whether ROM memory area is RW or RO */ 28 29 /* Located at BIOS_INFO_PHYSICAL_ADDRESS. */ 30 struct rombios_info { 31 uint32_t bios32_entry; /* 0 - Entry point for 32-bit BIOS */ 32 }; 33 #define BIOSINFO_OFF_bios32_entry 0 34 35 #endif 36 37