struct jailhouse_irqchip irqchips[1];
__u8 pio_bitmap[0x2000];
struct jailhouse_pci_device pci_devices[13];
- struct jailhouse_pci_capability pci_caps[27];
+ struct jailhouse_pci_capability pci_caps[28];
} __attribute__((packed)) config = {
.header = {
+ .signature = JAILHOUSE_SYSTEM_SIGNATURE,
.hypervisor_memory = {
- .phys_start = 0x3c000000,
+ .phys_start = 0x3b000000,
.size = 0x4000000,
},
+ .debug_console = {
+ .phys_start = 0xe010,
+ },
.platform_info.x86 = {
.mmconfig_base = 0xf8000000,
.mmconfig_end_bus = 0x3f,
.pm_timer_address = 0x1808,
- .dmar_unit_base = {
- 0xfed90000,
- 0xfed91000,
+ .iommu_units = {
+ {
+ .base = 0xfed90000,
+ .size = 0x1000,
+ },
+ {
+ .base = 0xfed91000,
+ .size = 0x1000,
+ },
},
},
.interrupt_limit = 256,
/* RAM */ {
.phys_start = 0x0,
.virt_start = 0x0,
- .size = 0x3c000000,
+ .size = 0x3b000000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
},
/* RAM */ {
- .phys_start = 0x40000000,
- .virt_start = 0x40000000,
- .size = 0x8ca64000,
+ .phys_start = 0x3f000000,
+ .virt_start = 0x3f000000,
+ .size = 0x8da64000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
},
/* IOAPIC */ {
.address = 0xfec00000,
.id = 0x1f0f8,
- .pin_bitmap = 0xffffff,
+ .pin_bitmap = {
+ 0xffffff
+ },
},
},
.domain = 0x0,
.bdf = 0xd8,
.caps_start = 21,
- .num_caps = 3,
+ .num_caps = 4,
.num_msi_vectors = 1,
.msi_64bits = 1,
},
.iommu = 1,
.domain = 0x0,
.bdf = 0xfa,
- .caps_start = 24,
+ .caps_start = 25,
.num_caps = 3,
.num_msi_vectors = 1,
},
.len = 2,
.flags = 0,
},
+ { /* non-cap registers: HDCTL, TCSEL, DCKCTL,DCKSTS */
+ .start = 0x40,
+ .len = 0x10,
+ .flags = JAILHOUSE_PCICAPS_WRITE,
+ },
/* PCIDevice: 00:1f.2 */
{
.id = 0x5,