struct jailhouse_memory mem_regions[3];
__u8 pio_bitmap[0x2000];
struct jailhouse_pci_device pci_devices[1];
+ struct jailhouse_pci_capability pci_caps[1];
} __attribute__((packed)) config = {
.cell = {
+ .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
.name = "pci-demo",
.flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
.num_irqchips = 0,
.pio_bitmap_size = ARRAY_SIZE(config.pio_bitmap),
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
+ .num_pci_caps = ARRAY_SIZE(config.pci_caps),
},
.cpus = {
.mem_regions = {
/* RAM */ {
- .phys_start = 0x3be00000,
+ .phys_start = 0x3f100000,
.virt_start = 0,
.size = 0x00100000,
.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
{ /* Intel HDA @00:1b.0 */
.type = JAILHOUSE_PCI_TYPE_DEVICE,
.domain = 0x0000,
- .bus = 0x00,
- .devfn = 0xd8,
+ .bdf = 0x00d8,
+ .caps_start = 0,
+ .num_caps = 1,
+ .num_msi_vectors = 1,
+ .msi_64bits = 1,
+ },
+ },
+
+ .pci_caps = {
+ { /* Intel HDA @00:1b.0 */
+ .id = 0x5,
+ .start = 0x60,
+ .len = 14,
+ .flags = JAILHOUSE_PCICAPS_WRITE,
},
},
};