diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2011-04-12 13:34:30 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2011-04-12 13:34:30 +0100 |
commit | ddff13d94c763321b54cfc2f6f12fc520c7b03c5 (patch) | |
tree | a24d374e732c887d6e9ddcfb7ee0469ff76f2af1 /tools/firmware/rombios | |
parent | 7d75f6881e5d438d5eb1d2abda78c64b43ab8544 (diff) | |
download | xen-ddff13d94c763321b54cfc2f6f12fc520c7b03c5.tar.gz xen-ddff13d94c763321b54cfc2f6f12fc520c7b03c5.tar.bz2 xen-ddff13d94c763321b54cfc2f6f12fc520c7b03c5.zip |
tools: hvmloader: move ROMBIOS configuration into tools/firmware/rombios/
Currently rombios and hvmloader are rather intertwined. Separate the
ROMBIOS configuration options out into a ROMBIOS provided file so that
the dependency can become strictly from hvmloader to rombios.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'tools/firmware/rombios')
-rw-r--r-- | tools/firmware/rombios/32bit/pmm.c | 2 | ||||
-rw-r--r-- | tools/firmware/rombios/config.h | 39 | ||||
-rw-r--r-- | tools/firmware/rombios/rombios.c | 2 |
3 files changed, 41 insertions, 2 deletions
diff --git a/tools/firmware/rombios/32bit/pmm.c b/tools/firmware/rombios/32bit/pmm.c index 0e5c5b8799..3b2c5350be 100644 --- a/tools/firmware/rombios/32bit/pmm.c +++ b/tools/firmware/rombios/32bit/pmm.c @@ -65,7 +65,7 @@ #include <stdint.h> #include <stddef.h> -#include <../hvmloader/config.h> +#include "config.h" #include <../hvmloader/e820.h> #include "util.h" diff --git a/tools/firmware/rombios/config.h b/tools/firmware/rombios/config.h new file mode 100644 index 0000000000..4b501791a5 --- /dev/null +++ b/tools/firmware/rombios/config.h @@ -0,0 +1,39 @@ +#ifndef _ROMBIOS_CONFIG_H +#define _ROMBIOS_CONFIG_H + +/* Memory map. */ +#define SCRATCH_PHYSICAL_ADDRESS 0x00010000 +#define HYPERCALL_PHYSICAL_ADDRESS 0x00080000 + +#define OPTIONROM_PHYSICAL_ADDRESS 0x000C8000 +#define OPTIONROM_PHYSICAL_END 0x000EA000 +#define BIOS_INFO_PHYSICAL_ADDRESS 0x000EA000 +#define ACPI_PHYSICAL_ADDRESS 0x000EA020 +#define E820_PHYSICAL_ADDRESS 0x000EA100 +#define SMBIOS_PHYSICAL_ADDRESS 0x000EB000 +#define SMBIOS_MAXIMUM_SIZE 0x00005000 +#define ROMBIOS_PHYSICAL_ADDRESS 0x000F0000 + +/* Offsets from E820_PHYSICAL_ADDRESS. */ +#define E820_NR_OFFSET 0x0 +#define E820_OFFSET 0x8 + +/* Xen Platform Device */ +#define XEN_PF_IOBASE 0x10 +#define PFFLAG_ROM_LOCK 1 /* Sets whether ROM memory area is RW or RO */ + +/* Located at BIOS_INFO_PHYSICAL_ADDRESS. */ +struct bios_info { + uint8_t com1_present:1; /* 0[0] - System has COM1? */ + uint8_t com2_present:1; /* 0[1] - System has COM2? */ + uint8_t lpt1_present:1; /* 0[2] - System has LPT1? */ + uint8_t hpet_present:1; /* 0[3] - System has HPET? */ + uint32_t pci_min, pci_len; /* 4, 8 - PCI I/O hole boundaries */ + uint32_t madt_csum_addr; /* 12 - Address of MADT checksum */ + uint32_t madt_lapic0_addr; /* 16 - Address of first MADT LAPIC struct */ + uint32_t bios32_entry; /* 20 - Entry point for 32-bit BIOS */ +}; +#define BIOSINFO_OFF_bios32_entry 20 + +#endif + diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c index f3363e9f94..80980b67f8 100644 --- a/tools/firmware/rombios/rombios.c +++ b/tools/firmware/rombios/rombios.c @@ -29,7 +29,7 @@ #define uint8_t unsigned char #define uint16_t unsigned short #define uint32_t unsigned long -#include "../hvmloader/config.h" +#include "config.h" #define HVMASSIST #undef HVMTEST |