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