ia64/xen-unstable

view tools/firmware/hvmloader/config.h @ 19079:f3240cd3cd2b

rombios: Indirect through 32-bit jump table from within the 32-bit bios.

This gets rid of shenanigans with relocating the jump table around the
place.

Also clean up bios_info table while we are updating it.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jan 23 14:32:41 2009 +0000 (2009-01-23)
parents b169db55faf3
children 33270c9a3d2f
line source
1 #ifndef __HVMLOADER_CONFIG_H__
2 #define __HVMLOADER_CONFIG_H__
4 #define PAGE_SHIFT 12
5 #define PAGE_SIZE (1ul << PAGE_SHIFT)
7 #define IOAPIC_BASE_ADDRESS 0xfec00000
8 #define IOAPIC_ID 0x01
9 #define IOAPIC_VERSION 0x11
11 #define LAPIC_BASE_ADDRESS 0xfee00000
12 #define LAPIC_ID(vcpu_id) ((vcpu_id) * 2)
14 #define PCI_ISA_DEVFN 0x08 /* dev 1, fn 0 */
15 #define PCI_ISA_IRQ_MASK 0x0c20U /* ISA IRQs 5,10,11 are PCI connected */
17 /* MMIO hole: Hardcoded defaults, which can be dynamically expanded. */
18 #define PCI_MEM_START 0xf0000000
19 #define PCI_MEM_END 0xfc000000
20 extern unsigned long pci_mem_start, pci_mem_end;
22 /* We reserve 16MB for special BIOS mappings, etc. */
23 #define RESERVED_MEMBASE 0xfc000000
24 #define RESERVED_MEMSIZE 0x01000000
26 #define ROMBIOS_SEG 0xF000
27 #define ROMBIOS_BEGIN 0x000F0000
28 #define ROMBIOS_SIZE 0x00010000
29 #define ROMBIOS_MAXOFFSET 0x0000FFFF
30 #define ROMBIOS_END (ROMBIOS_BEGIN + ROMBIOS_SIZE)
32 /* Memory map. */
33 #define SCRATCH_PHYSICAL_ADDRESS 0x00010000
34 #define HYPERCALL_PHYSICAL_ADDRESS 0x00080000
35 #define VGABIOS_PHYSICAL_ADDRESS 0x000C0000
36 #define OPTIONROM_PHYSICAL_ADDRESS 0x000C8000
37 #define OPTIONROM_PHYSICAL_END 0x000EA000
38 #define BIOS_INFO_PHYSICAL_ADDRESS 0x000EA000
39 #define ACPI_PHYSICAL_ADDRESS 0x000EA020
40 #define E820_PHYSICAL_ADDRESS 0x000EA100
41 #define SMBIOS_PHYSICAL_ADDRESS 0x000EB000
42 #define SMBIOS_MAXIMUM_SIZE 0x00005000
43 #define ROMBIOS_PHYSICAL_ADDRESS 0x000F0000
45 /* Offsets from E820_PHYSICAL_ADDRESS. */
46 #define E820_NR_OFFSET 0x0
47 #define E820_OFFSET 0x8
49 /* Xen Platform Device */
50 #define PFFLAG_ROM_LOCK 1 /* Sets whether ROM memory area is RW or RO */
52 /* Located at BIOS_INFO_PHYSICAL_ADDRESS. */
53 struct bios_info {
54 uint8_t com1_present:1; /* 0[0] - System has COM1? */
55 uint8_t com2_present:1; /* 0[1] - System has COM2? */
56 uint8_t hpet_present:1; /* 0[2] - System has HPET? */
57 uint32_t pci_min, pci_len; /* 4, 8 - PCI I/O hole boundaries */
58 uint32_t bios32_entry; /* 12 - Entry point for 32-bit BIOS */
59 uint16_t xen_pfiob; /* 16 - Xen platform device I/O ports */
60 };
61 #define BIOSINFO_OFF_bios32_entry 12
62 #define BIOSINFO_OFF_xen_pfiob 16
64 #endif /* __HVMLOADER_CONFIG_H__ */