/* * Jailhouse, a Linux-based partitioning hypervisor * * Copyright (c) Siemens AG, 2014, 2015 * * This work is licensed under the terms of the GNU GPL, version 2. See * the COPYING file in the top-level directory. * * Alternatively, you can use or redistribute this file under the following * BSD license: * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * * Configuration for HUAWEI TECHNOLOGIES CO.,LTD. Tecal BH622 V2 * created with '/usr/local/libexec/jailhouse/jailhouse config create my-system-temp.c' * * NOTE: This config expects the following to be appended to your kernel cmdline * "memmap=0x4200000$0x3b000000" */ #include #include #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) struct { struct jailhouse_system header; __u64 cpus[1]; struct jailhouse_memory mem_regions[75]; struct jailhouse_irqchip irqchips[3]; __u8 pio_bitmap[0x2000]; struct jailhouse_pci_device pci_devices[133]; struct jailhouse_pci_capability pci_caps[42]; } __attribute__((packed)) config = { .header = { .hypervisor_memory = { .phys_start = 0x3b000000, .size = 0x4000000, }, .platform_info.x86 = { .mmconfig_base = 0x80000000, .mmconfig_end_bus = 0xff, .pm_timer_address = 0x408, .iommu_base = { 0xfbffe000, 0xcfffc000, }, }, .device_limit = 128, .interrupt_limit = 256, .root_cell = { .name = "RootCell", .cpu_set_size = sizeof(config.cpus), .num_memory_regions = ARRAY_SIZE(config.mem_regions), .num_irqchips = ARRAY_SIZE(config.irqchips), .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 = { 0x000000000000ffff, }, .mem_regions = { /* MemRegion: 00000000-0009d3ff : System RAM */ { .phys_start = 0x0, .virt_start = 0x0, .size = 0x9e000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 000a0000-000bffff : PCI Bus 0000:00 */ { .phys_start = 0xa0000, .virt_start = 0xa0000, .size = 0x20000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 00100000-00ffffff : System RAM */ { .phys_start = 0x100000, .virt_start = 0x100000, .size = 0xf00000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 01000000-01ffffff : Kernel */ { .phys_start = 0x1000000, .virt_start = 0x1000000, .size = 0x1000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 02000000-3affffff : System RAM */ { .phys_start = 0x2000000, .virt_start = 0x2000000, .size = 0x39000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 3f200000-3fffffff : System RAM */ { .phys_start = 0x3f200000, .virt_start = 0x3f200000, .size = 0xe00000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 40100000-7e9fefff : System RAM */ { .phys_start = 0x40100000, .virt_start = 0x40100000, .size = 0x3e8ff000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 7eaff000-7eefefff : ACPI Non-volatile Storage */ { .phys_start = 0x7eaff000, .virt_start = 0x7eaff000, .size = 0x400000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 7eeff000-7efbefff : ACPI Tables */ { .phys_start = 0x7eeff000, .virt_start = 0x7eeff000, .size = 0xc0000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 7efbf000-7effffff : System RAM */ { .phys_start = 0x7efbf000, .virt_start = 0x7efbf000, .size = 0x41000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 90000000-93ffffff : 0000:08:00.0 */ { .phys_start = 0x90000000, .virt_start = 0x90000000, .size = 0x4000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94000000-9403ffff : 0000:08:00.0 */ { .phys_start = 0x94000000, .virt_start = 0x94000000, .size = 0x40000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94100000-9413ffff : 0000:03:00.0 */ { .phys_start = 0x94100000, .virt_start = 0x94100000, .size = 0x40000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94140000-94141fff : 0000:03:00.0 */ { .phys_start = 0x94140000, .virt_start = 0x94140000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94143000-94143fff : 0000:03:00.0 */ { .phys_start = 0x94143000, .virt_start = 0x94143000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94160000-9417ffff : 0000:03:00.0 */ { .phys_start = 0x94160000, .virt_start = 0x94160000, .size = 0x20000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94200000-9427ffff : igb */ { .phys_start = 0x94200000, .virt_start = 0x94200000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94280000-942fffff : igb */ { .phys_start = 0x94280000, .virt_start = 0x94280000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94301000-94303fff : igb */ { .phys_start = 0x94301000, .virt_start = 0x94301000, .size = 0x3000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94305000-94307fff : igb */ { .phys_start = 0x94305000, .virt_start = 0x94305000, .size = 0x3000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94400000-94401fff : 0000:00:04.0 */ { .phys_start = 0x94400000, .virt_start = 0x94400000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94403000-94403fff : 0000:00:04.0 */ { .phys_start = 0x94403000, .virt_start = 0x94403000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94404000-94405fff : 0000:00:04.1 */ { .phys_start = 0x94404000, .virt_start = 0x94404000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94407000-94407fff : 0000:00:04.1 */ { .phys_start = 0x94407000, .virt_start = 0x94407000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94408000-94409fff : 0000:00:04.2 */ { .phys_start = 0x94408000, .virt_start = 0x94408000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 9440b000-9440bfff : 0000:00:04.2 */ { .phys_start = 0x9440b000, .virt_start = 0x9440b000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 9440c000-9440dfff : 0000:00:04.3 */ { .phys_start = 0x9440c000, .virt_start = 0x9440c000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 9440f000-9440ffff : 0000:00:04.3 */ { .phys_start = 0x9440f000, .virt_start = 0x9440f000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94410000-94411fff : 0000:00:04.4 */ { .phys_start = 0x94410000, .virt_start = 0x94410000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94413000-94413fff : 0000:00:04.4 */ { .phys_start = 0x94413000, .virt_start = 0x94413000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94414000-94415fff : 0000:00:04.5 */ { .phys_start = 0x94414000, .virt_start = 0x94414000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94417000-94417fff : 0000:00:04.5 */ { .phys_start = 0x94417000, .virt_start = 0x94417000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94418000-94419fff : 0000:00:04.6 */ { .phys_start = 0x94418000, .virt_start = 0x94418000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 9441b000-9441bfff : 0000:00:04.6 */ { .phys_start = 0x9441b000, .virt_start = 0x9441b000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 9441c000-9441dfff : 0000:00:04.7 */ { .phys_start = 0x9441c000, .virt_start = 0x9441c000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 9441f000-9441ffff : 0000:00:04.7 */ { .phys_start = 0x9441f000, .virt_start = 0x9441f000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94420000-9442000f : 0000:00:16.0 */ { .phys_start = 0x94420000, .virt_start = 0x94420000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94421000-9442100f : 0000:00:16.1 */ { .phys_start = 0x94421000, .virt_start = 0x94421000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94422000-944220ff : 0000:00:1f.3 */ { .phys_start = 0x94422000, .virt_start = 0x94422000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94424000-944247ff : ahci */ { .phys_start = 0x94424000, .virt_start = 0x94424000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94425000-944253ff : ehci_hcd */ { .phys_start = 0x94425000, .virt_start = 0x94425000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94426000-944263ff : ehci_hcd */ { .phys_start = 0x94426000, .virt_start = 0x94426000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94428000-94428fff : 0000:00:05.4 */ { .phys_start = 0x94428000, .virt_start = 0x94428000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 94500000-946fffff : PCI Bus 0000:03 */ { .phys_start = 0x94500000, .virt_start = 0x94500000, .size = 0x200000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: cffff000-cfffffff : pnp 00:00 */ { .phys_start = 0xcffff000, .virt_start = 0xcffff000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0000000-d007ffff : igb */ { .phys_start = 0xd0000000, .virt_start = 0xd0000000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0080000-d00fffff : igb */ { .phys_start = 0xd0080000, .virt_start = 0xd0080000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0101000-d0103fff : igb */ { .phys_start = 0xd0101000, .virt_start = 0xd0101000, .size = 0x3000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0105000-d0107fff : igb */ { .phys_start = 0xd0105000, .virt_start = 0xd0105000, .size = 0x3000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0200000-d027ffff : igb */ { .phys_start = 0xd0200000, .virt_start = 0xd0200000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0280000-d02fffff : igb */ { .phys_start = 0xd0280000, .virt_start = 0xd0280000, .size = 0x80000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0301000-d0303fff : igb */ { .phys_start = 0xd0301000, .virt_start = 0xd0301000, .size = 0x3000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0305000-d0307fff : igb */ { .phys_start = 0xd0305000, .virt_start = 0xd0305000, .size = 0x3000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0400000-d0401fff : 0000:80:04.0 */ { .phys_start = 0xd0400000, .virt_start = 0xd0400000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0403000-d0403fff : 0000:80:04.0 */ { .phys_start = 0xd0403000, .virt_start = 0xd0403000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0404000-d0405fff : 0000:80:04.1 */ { .phys_start = 0xd0404000, .virt_start = 0xd0404000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0407000-d0407fff : 0000:80:04.1 */ { .phys_start = 0xd0407000, .virt_start = 0xd0407000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0408000-d0409fff : 0000:80:04.2 */ { .phys_start = 0xd0408000, .virt_start = 0xd0408000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d040b000-d040bfff : 0000:80:04.2 */ { .phys_start = 0xd040b000, .virt_start = 0xd040b000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d040c000-d040dfff : 0000:80:04.3 */ { .phys_start = 0xd040c000, .virt_start = 0xd040c000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d040f000-d040ffff : 0000:80:04.3 */ { .phys_start = 0xd040f000, .virt_start = 0xd040f000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0410000-d0411fff : 0000:80:04.4 */ { .phys_start = 0xd0410000, .virt_start = 0xd0410000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0413000-d0413fff : 0000:80:04.4 */ { .phys_start = 0xd0413000, .virt_start = 0xd0413000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0414000-d0415fff : 0000:80:04.5 */ { .phys_start = 0xd0414000, .virt_start = 0xd0414000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0417000-d0417fff : 0000:80:04.5 */ { .phys_start = 0xd0417000, .virt_start = 0xd0417000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0418000-d0419fff : 0000:80:04.6 */ { .phys_start = 0xd0418000, .virt_start = 0xd0418000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d041b000-d041bfff : 0000:80:04.6 */ { .phys_start = 0xd041b000, .virt_start = 0xd041b000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d041c000-d041dfff : 0000:80:04.7 */ { .phys_start = 0xd041c000, .virt_start = 0xd041c000, .size = 0x2000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d041f000-d041ffff : 0000:80:04.7 */ { .phys_start = 0xd041f000, .virt_start = 0xd041f000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: d0420000-d0420fff : 0000:80:05.4 */ { .phys_start = 0xd0420000, .virt_start = 0xd0420000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: fed00000-fed003ff : PNP0103:00 */ { .phys_start = 0xfed00000, .virt_start = 0xfed00000, .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 100000000-147fffffff : System RAM */ { .phys_start = 0x100000000, .virt_start = 0x100000000, .size = 0x1380000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 000c0000-000dffff : ROMs */ { .phys_start = 0xc0000, .virt_start = 0xc0000, .size = 0x20000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, /* MemRegion: 7eaa2000-7eaa8fff : ACPI DMAR RMRR */ /* PCI device: 00:1a.0 */ /* PCI device: 00:1d.0 */ { .phys_start = 0x7eaa2000, .virt_start = 0x7eaa2000, .size = 0x7000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, }, /* MemRegion: 3f000000-3f1fffff : JAILHOUSE Inmate Memory */ { .phys_start = 0x3f000000, .virt_start = 0x3f000000, .size = 0x200000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, }, .irqchips = { /* IOAPIC 8, GSI base 0 */ { .address = 0xfec00000, .id = 0x1f0f8, .pin_bitmap = 0xffffff, }, /* IOAPIC 9, GSI base 24 */ { .address = 0xfec01000, .id = 0x1002c, .pin_bitmap = 0xffffff, }, /* IOAPIC 10, GSI base 48 */ { .address = 0xfec40000, .id = 0x802c, .pin_bitmap = 0xffffff, }, }, .pio_bitmap = { [ 0/8 ... 0x3f/8] = -1, [ 0x40/8 ... 0x47/8] = 0xf0, /* PIT */ [ 0x48/8 ... 0x5f/8] = -1, [ 0x60/8 ... 0x67/8] = 0xec, /* HACK: NMI status/control */ [ 0x68/8 ... 0x6f/8] = -1, [ 0x70/8 ... 0x77/8] = 0xfc, /* RTC */ [ 0x78/8 ... 0x7f/7] = -1, [ 0x80/8 ... 0x87/8] = 0xfe, /* Linux: native_io_delay() */ [ 0x88/8 ... 0x3af/8] = -1, [ 0x3b0/8 ... 0x3df/8] = 0x00, /* VGA */ [ 0x3e0/8 ... 0xcff/8] = 0, [ 0xd00/8 ... 0xffff/8] = 0, /* HACK: PCI bus */ }, .pci_devices = { /* PCIDevice: 00:00.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x0, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 2, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:01.0 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0x8, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 2, .num_caps = 4, .num_msi_vectors = 2, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:01.1 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0x9, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 2, .num_caps = 4, .num_msi_vectors = 2, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:02.0 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0x10, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 2, .num_caps = 4, .num_msi_vectors = 2, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:04.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x20, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x94402000, }, /* PCIDevice: 00:04.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x21, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x94406000, }, /* PCIDevice: 00:04.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x22, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x9440a000, }, /* PCIDevice: 00:04.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x23, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x9440e000, }, /* PCIDevice: 00:04.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x24, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x94412000, }, /* PCIDevice: 00:04.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x25, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x94416000, }, /* PCIDevice: 00:04.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x26, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x9441a000, }, /* PCIDevice: 00:04.7 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x27, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0x9441e000, }, /* PCIDevice: 00:05.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x28, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:05.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x2a, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:05.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x2c, .bar_mask = { 0xfffff000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 10, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:11.0 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0x88, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 11, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:16.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xb0, .bar_mask = { 0xfffffff0, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 15, .num_caps = 2, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:16.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xb1, .bar_mask = { 0xfffffff0, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 15, .num_caps = 2, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1a.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xd0, .bar_mask = { 0xfffffc00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 17, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1c.0 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0xe0, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 20, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1c.1 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0xe1, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 20, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1c.2 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0xe2, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 20, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1c.3 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0xe3, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 20, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1d.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xe8, .bar_mask = { 0xfffffc00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 17, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1e.0 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0xf0, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 24, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1f.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xf8, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 25, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1f.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xfa, .bar_mask = { 0xfffffff8, 0xfffffffc, 0xfffffff8, 0xfffffffc, 0xffffffe0, 0xfffff800, }, .caps_start = 26, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 00:1f.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xfb, .bar_mask = { 0xffffff00, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xffffffe0, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 02:00.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x200, .bar_mask = { 0xfff80000, 0x00000000, 0xffffffe0, 0xffffc000, 0x00000000, 0x00000000, }, .caps_start = 30, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 10, .msix_region_size = 0x1000, .msix_address = 0x94304000, }, /* PCIDevice: 02:00.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x201, .bar_mask = { 0xfff80000, 0x00000000, 0xffffffe0, 0xffffc000, 0x00000000, 0x00000000, }, .caps_start = 30, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 10, .msix_region_size = 0x1000, .msix_address = 0x94300000, }, /* PCIDevice: 03:00.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x300, .bar_mask = { 0xffffff00, 0xffffc000, 0xffffffff, 0x00000000, 0xfffc0000, 0xffffffff, }, .caps_start = 34, .num_caps = 5, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 16, .msix_region_size = 0x1000, .msix_address = 0x94142000, }, /* PCIDevice: 08:00.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x800, .bar_mask = { 0xfc000000, 0xfffc0000, 0xffffff80, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 39, .num_caps = 3, .num_msi_vectors = 1, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:08.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f40, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:08.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f43, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:08.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f44, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:09.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f48, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:09.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f4b, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:09.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f4c, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0a.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f50, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0a.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f51, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0a.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f52, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0a.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f53, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0b.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f58, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0b.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f5b, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0c.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f60, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0c.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f61, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0c.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f66, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0c.7 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f67, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0d.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f68, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0d.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f69, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0d.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f6e, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0e.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f70, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0e.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f71, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0f.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f78, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0f.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f79, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0f.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f7a, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0f.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f7b, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0f.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f7c, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0f.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f7d, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:0f.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f7e, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f80, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f81, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f82, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f83, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f84, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f85, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f86, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:10.7 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f87, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:11.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f88, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:13.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f98, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:13.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f99, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:13.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f9c, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:13.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f9d, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 7f:13.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x7f9e, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 80:02.0 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0x8010, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 2, .num_caps = 4, .num_msi_vectors = 2, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 80:02.2 */ { .type = JAILHOUSE_PCI_TYPE_BRIDGE, .iommu = 1, .domain = 0x0, .bdf = 0x8012, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 2, .num_caps = 4, .num_msi_vectors = 2, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 80:04.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8020, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd0402000, }, /* PCIDevice: 80:04.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8021, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd0406000, }, /* PCIDevice: 80:04.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8022, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd040a000, }, /* PCIDevice: 80:04.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8023, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd040e000, }, /* PCIDevice: 80:04.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8024, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd0412000, }, /* PCIDevice: 80:04.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8025, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd0416000, }, /* PCIDevice: 80:04.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8026, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd041a000, }, /* PCIDevice: 80:04.7 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8027, .bar_mask = { 0xffffc000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 6, .num_caps = 3, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 1, .msix_region_size = 0x1000, .msix_address = 0xd041e000, }, /* PCIDevice: 80:05.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x8028, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 80:05.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x802a, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 80:05.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0x802c, .bar_mask = { 0xfffff000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 10, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: 81:00.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8100, .bar_mask = { 0xfff80000, 0x00000000, 0xffffffe0, 0xffffc000, 0x00000000, 0x00000000, }, .caps_start = 30, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 10, .msix_region_size = 0x1000, .msix_address = 0xd0304000, }, /* PCIDevice: 81:00.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8101, .bar_mask = { 0xfff80000, 0x00000000, 0xffffffe0, 0xffffc000, 0x00000000, 0x00000000, }, .caps_start = 30, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 10, .msix_region_size = 0x1000, .msix_address = 0xd0300000, }, /* PCIDevice: 82:00.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8200, .bar_mask = { 0xfff80000, 0x00000000, 0xffffffe0, 0xffffc000, 0x00000000, 0x00000000, }, .caps_start = 30, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 10, .msix_region_size = 0x1000, .msix_address = 0xd0104000, }, /* PCIDevice: 82:00.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 0, .domain = 0x0, .bdf = 0x8201, .bar_mask = { 0xfff80000, 0x00000000, 0xffffffe0, 0xffffc000, 0x00000000, 0x00000000, }, .caps_start = 30, .num_caps = 4, .num_msi_vectors = 1, .msi_64bits = 1, .num_msix_vectors = 10, .msix_region_size = 0x1000, .msix_address = 0xd0100000, }, /* PCIDevice: ff:08.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff40, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:08.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff43, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:08.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff44, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:09.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff48, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:09.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff4b, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:09.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff4c, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0a.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff50, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0a.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff51, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0a.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff52, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0a.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff53, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0b.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff58, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0b.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff5b, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0c.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff60, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0c.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff61, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0c.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff66, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0c.7 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff67, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0d.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff68, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0d.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff69, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0d.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff6e, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0e.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff70, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0e.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff71, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0f.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff78, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0f.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff79, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0f.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff7a, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0f.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff7b, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0f.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff7c, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0f.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff7d, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:0f.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff7e, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff80, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff81, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.2 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff82, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.3 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff83, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff84, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff85, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff86, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:10.7 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff87, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 9, .num_caps = 1, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:11.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff88, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:13.0 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff98, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:13.1 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff99, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:13.4 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff9c, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:13.5 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff9d, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, /* PCIDevice: ff:13.6 */ { .type = JAILHOUSE_PCI_TYPE_DEVICE, .iommu = 1, .domain = 0x0, .bdf = 0xff9e, .bar_mask = { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .caps_start = 0, .num_caps = 0, .num_msi_vectors = 0, .msi_64bits = 0, .num_msix_vectors = 0, .msix_region_size = 0x0, .msix_address = 0x0, }, }, .pci_caps = { /* PCIDevice: 00:00.0 */ { .id = 0x10, .start = 0x90, .len = 2, .flags = 0, }, { .id = 0x1, .start = 0xe0, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 00:01.0 */ /* PCIDevice: 00:01.1 */ /* PCIDevice: 00:02.0 */ /* PCIDevice: 80:02.0 */ /* PCIDevice: 80:02.2 */ { .id = 0xd, .start = 0x40, .len = 2, .flags = 0, }, { .id = 0x5, .start = 0x60, .len = 20, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x10, .start = 0x90, .len = 2, .flags = 0, }, { .id = 0x1, .start = 0xe0, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 00:04.0 */ /* PCIDevice: 00:04.1 */ /* PCIDevice: 00:04.2 */ /* PCIDevice: 00:04.3 */ /* PCIDevice: 00:04.4 */ /* PCIDevice: 00:04.5 */ /* PCIDevice: 00:04.6 */ /* PCIDevice: 00:04.7 */ /* PCIDevice: 80:04.0 */ /* PCIDevice: 80:04.1 */ /* PCIDevice: 80:04.2 */ /* PCIDevice: 80:04.3 */ /* PCIDevice: 80:04.4 */ /* PCIDevice: 80:04.5 */ /* PCIDevice: 80:04.6 */ /* PCIDevice: 80:04.7 */ { .id = 0x11, .start = 0x80, .len = 12, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x10, .start = 0x90, .len = 2, .flags = 0, }, { .id = 0x1, .start = 0xe0, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 00:05.0 */ /* PCIDevice: 00:05.2 */ /* PCIDevice: 7f:08.3 */ /* PCIDevice: 7f:08.4 */ /* PCIDevice: 7f:09.3 */ /* PCIDevice: 7f:09.4 */ /* PCIDevice: 7f:0f.0 */ /* PCIDevice: 7f:0f.1 */ /* PCIDevice: 7f:0f.2 */ /* PCIDevice: 7f:0f.3 */ /* PCIDevice: 7f:0f.4 */ /* PCIDevice: 7f:0f.5 */ /* PCIDevice: 7f:10.0 */ /* PCIDevice: 7f:10.1 */ /* PCIDevice: 7f:10.2 */ /* PCIDevice: 7f:10.3 */ /* PCIDevice: 7f:10.4 */ /* PCIDevice: 7f:10.5 */ /* PCIDevice: 7f:10.6 */ /* PCIDevice: 7f:10.7 */ /* PCIDevice: 80:05.0 */ /* PCIDevice: 80:05.2 */ /* PCIDevice: ff:08.3 */ /* PCIDevice: ff:08.4 */ /* PCIDevice: ff:09.3 */ /* PCIDevice: ff:09.4 */ /* PCIDevice: ff:0f.0 */ /* PCIDevice: ff:0f.1 */ /* PCIDevice: ff:0f.2 */ /* PCIDevice: ff:0f.3 */ /* PCIDevice: ff:0f.4 */ /* PCIDevice: ff:0f.5 */ /* PCIDevice: ff:10.0 */ /* PCIDevice: ff:10.1 */ /* PCIDevice: ff:10.2 */ /* PCIDevice: ff:10.3 */ /* PCIDevice: ff:10.4 */ /* PCIDevice: ff:10.5 */ /* PCIDevice: ff:10.6 */ /* PCIDevice: ff:10.7 */ { .id = 0x10, .start = 0x40, .len = 2, .flags = 0, }, /* PCIDevice: 00:05.4 */ /* PCIDevice: 80:05.4 */ { .id = 0x1, .start = 0x6c, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 00:11.0 */ { .id = 0x10, .start = 0x40, .len = 2, .flags = 0, }, { .id = 0x1, .start = 0x80, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0xd, .start = 0x88, .len = 2, .flags = 0, }, { .id = 0x5, .start = 0x90, .len = 10, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 00:16.0 */ /* PCIDevice: 00:16.1 */ { .id = 0x1, .start = 0x50, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x5, .start = 0x8c, .len = 14, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 00:1a.0 */ /* PCIDevice: 00:1d.0 */ { .id = 0x1, .start = 0x50, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0xa, .start = 0x58, .len = 2, .flags = 0, }, { .id = 0x13, .start = 0x98, .len = 2, .flags = 0, }, /* PCIDevice: 00:1c.0 */ /* PCIDevice: 00:1c.1 */ /* PCIDevice: 00:1c.2 */ /* PCIDevice: 00:1c.3 */ { .id = 0x10, .start = 0x40, .len = 2, .flags = 0, }, { .id = 0x5, .start = 0x80, .len = 10, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0xd, .start = 0x90, .len = 2, .flags = 0, }, { .id = 0x1, .start = 0xa0, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 00:1e.0 */ { .id = 0xd, .start = 0x50, .len = 2, .flags = 0, }, /* PCIDevice: 00:1f.0 */ { .id = 0x9, .start = 0xe0, .len = 2, .flags = 0, }, /* PCIDevice: 00:1f.2 */ { .id = 0x5, .start = 0x80, .len = 10, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x1, .start = 0x70, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x12, .start = 0xa8, .len = 2, .flags = 0, }, { .id = 0x13, .start = 0xb0, .len = 2, .flags = 0, }, /* PCIDevice: 02:00.0 */ /* PCIDevice: 02:00.1 */ /* PCIDevice: 81:00.0 */ /* PCIDevice: 81:00.1 */ /* PCIDevice: 82:00.0 */ /* PCIDevice: 82:00.1 */ { .id = 0x1, .start = 0x40, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x5, .start = 0x50, .len = 24, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x11, .start = 0x70, .len = 12, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x10, .start = 0xa0, .len = 2, .flags = 0, }, /* PCIDevice: 03:00.0 */ { .id = 0x1, .start = 0x50, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x10, .start = 0x68, .len = 2, .flags = 0, }, { .id = 0x3, .start = 0xd0, .len = 2, .flags = 0, }, { .id = 0x5, .start = 0xa8, .len = 14, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x11, .start = 0xc0, .len = 12, .flags = JAILHOUSE_PCICAPS_WRITE, }, /* PCIDevice: 08:00.0 */ { .id = 0x1, .start = 0x40, .len = 8, .flags = JAILHOUSE_PCICAPS_WRITE, }, { .id = 0x10, .start = 0xa0, .len = 2, .flags = 0, }, { .id = 0x5, .start = 0xc0, .len = 10, .flags = JAILHOUSE_PCICAPS_WRITE, }, }, };