Hello everyone:
I run jailhouse on my lenovo laptop,and I make bzImage and rootfs.cpio by 
buildroot,when i use
sudo jailhouse enable jailhouse/configs/x86/lenovo.cell
sudo jailhouse cell linux jailhouse/configs/x86/lenovo-demo.cell 
~/x86jailhouse/lenovo/bzImage -i ~/x86jailhouse/lenovo/rootfs.cpio -c 
"console=jailhouse 
earlycon=jailhouse 8250.nr_uarts=0 clk_ignore_unused ip=192.168.3.2 
root=/dev/sdb1 rootfstype=ext4 fsck.repair=yes loglevel=7 acpi=force -k 10"



to boot my non-root-cell linux it stuck in "Run /init as init process"
What wrong with my configuration?
I really need your help.

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/c8eb0631-0d7b-49a8-8d01-6180cf5f732an%40googlegroups.com.
r direct mapping
[    0.021884] RAMDISK: [mem 0x03c69000-0x05f4ffff]
[    0.022566] Zone ranges:
[    0.022776]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.023288]   DMA32    [mem 0x0000000001000000-0x00000000159fffff]
[    0.023798]   Normal   empty
[    0.024037] Movable zone start for each node
[    0.024388] Early memory node ranges
[    0.024682]   node   0: [mem 0x0000000000001000-0x000000000009ffff]
[    0.025200]   node   0: [mem 0x0000000000200000-0x00000000159fffff]
[    0.025717] Initmem setup node 0 [mem 0x0000000000001000-0x00000000159fffff]
[    0.026302] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.026349] On node 0, zone DMA: 352 pages in unavailable ranges
[    0.027477] On node 0, zone DMA32: 9728 pages in unavailable ranges
[    0.027480] Setting APIC routing to physical x2apic.
[    0.029468] IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-119
[    0.030044] TSC deadline timer available
[    0.030367] smpboot: Allowing 2 CPUs, 0 hotplug CPUs
[    0.030785] [mem 0x15a00000-0xffffffff] available for PCI devices
[    0.031287] Booting paravirtualized kernel on bare hardware
[    0.031746] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 
0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.056890] setup_percpu: NR_CPUS:96 nr_cpumask_bits:96 nr_cpu_ids:2 
nr_node_ids:1
[    0.057707] percpu: Embedded 52 pages/cpu s173912 r8192 d30888 u1048576
[    0.058259] pcpu-alloc: s173912 r8192 d30888 u1048576 alloc=1*2097152
[    0.058792] pcpu-alloc: [0] 0 1 
[    0.059081] Built 1 zonelists, mobility grouping on.  Total pages: 86857
[    0.059636] Kernel command line: console=jailhouse earlycon=jailhouse 
8250.nr_uarts=0 clk_ignore_unused ip=192.168.3.2 root=/dev/sdb1 rootfstype=ext4 
fsck.repair=yes loglevel=7 acpi=on
[    0.061283] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, 
linear)
[    0.061936] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, 
linear)
[    0.062615] mem auto-init: stack:off, heap alloc:off, heap free:off
<missed 2378 bytes of console log>
pendent on hypervisor status
[    0.099062] Freeing SMP alternatives memory: 16K
[    0.099062] smpboot: Estimated ratio of average max frequency by base 
frequency (times 1024): 1269
[    0.099062] smpboot: CPU0: Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 
(family: 0x6, model: 0x9e, stepping: 0x9)
[    0.099062] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, 
full-width counters, Intel PMU driver.
[    0.099062] ... version:                4
[    0.099062] ... bit width:              48
[    0.099062] ... generic registers:      8
[    0.099062] ... value mask:             0000ffffffffffff
[    0.099062] ... max period:             00007fffffffffff
[    0.099062] ... fixed-purpose events:   3
[    0.099068] ... event mask:             00000007000000ff
[    0.099755] rcu: Hierarchical SRCU implementation.
[    0.100726] smp: Bringing up secondary CPUs ...
[    0.101348] x86: Booting SMP configuration:
CPU 3 received SIPI, vector 9a
[    0.101693] .... node  #0, CPUs:      #1
[    0.102561] smp: Brought up 1 node, 2 CPUs
[    0.103080] smpboot: Max logical packages: 1
[    0.103432] smpboot: Total of 2 processors activated (9983.99 BogoMIPS)
[    0.104650] devtmpfs: initialized
[    0.104650] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, 
max_idle_ns: 7645041785100000 ns
[    0.104650] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.107117] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.107779] audit: initializing netlink subsys (disabled)
[    0.108278] audit: type=2000 audit(0.012:1): state=initialized 
audit_enabled=0 res=1
[    0.108417] thermal_sys: Registered thermal governor 'step_wise'
[    0.108419] thermal_sys: Registered thermal governor 'user_space'
[    0.108462] cpuidle: using governor ladder
[    0.108462] cpuidle: using governor menu
[    0.108876] PCI: Using configuration type 1 for base access
[    0.111072] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 
0xe0000000-0xefffffff] (base 0xe0000000)
[    0.115046] Kprobes globally optimized
[    0.183065] raid6: avx2x4   gen() 11635 MB/s
[    0.251068] raid6: avx2x4   xor()  8612 MB/s
[    0.319087] raid6: avx2x2   gen() 15904 MB/s
[    0.387065] raid6: avx2x2   xor()  8887 MB/s
[    0.455067] raid6: avx2x1   gen() 11830 MB/s
[    0.523065] raid6: avx2x1   xor()  6399 MB/s
[    0.591066] raid6: sse2x4   gen()  7180 MB/s
[    0.659065] raid6: sse2x4   xor()  4230 MB/s
[    0.727065] raid6: sse2x2   gen()  7323 MB/s
[    0.795067] raid6: sse2x2   xor()  4142 MB/s
[    0.863066] raid6: sse2x1   gen()  6229 MB/s
[    0.931094] raid6: sse2x1   xor()  3178 MB/s
[    0.931451] raid6: using algorithm avx2x2 gen() 15904 MB/s
[    0.931904] raid6: .... xor() 8887 MB/s, rmw enabled
[    0.932313] raid6: using avx2x2 recovery algorithm
[    0.932759] ACPI: Interpreter disabled.
[    0.933097] iommu: Default domain type: Translated 
[    0.933499] iommu: DMA domain TLB invalidation policy: lazy mode 
[    0.934025] vgaarb: loaded
[    0.934025] SCSI subsystem initialized
[    0.934025] libata version 3.00 loaded.
[    0.934025] usbcore: registered new interface driver usbfs
[    0.934025] usbcore: registered new interface driver hub
[    0.934025] usbcore: registered new device driver usb
[    0.934025] pps_core: LinuxPPS API ver. 1 registered
[    0.934025] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo 
Giometti <[email protected]>
[    0.935069] PTP clock support registered
[    0.935658] PCI: Probing PCI hardware
[    0.935961] PCI: root bus 00: using default resources
[    0.936379] PCI: Probing PCI hardware (bus 00)
[    0.936783] PCI host bridge to bus 0000:00
[    0.937122] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.937634] pci_bus 0000:00: root bus resource [mem 0x00000000-0x7fffffffff]
[    0.938217] pci_bus 0000:00: No busn resource found for root bus, will use 
[bus 00-ff]
[    0.939303] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    1.031515] PCI: pci_cache_line_size set to 64 bytes
[    1.031933] e820: reserve RAM buffer [mem 0x00002000-0x0000ffff]
[    1.032431] e820: reserve RAM buffer [mem 0x15a00000-0x17ffffff]
[    1.035537] clocksource: Switched to clocksource tsc-early
<missed 38 bytes of console log>
6.6.0
[    1.067484] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.068092] pnp: PnP ACPI: disabled
[    1.075524] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, 
max_idle_ns: 2085701024 ns
[    1.076332] NET: Registered PF_INET protocol family
[    1.076780] IP idents hash table entries: 8192 (order: 4, 65536 bytes, 
linear)
[    1.077677] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 
bytes, linear)
[    1.078374] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, 
linear)
[    1.079015] TCP established hash table entries: 4096 (order: 3, 32768 bytes, 
linear)
[    1.079683] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    1.080309] TCP: Hash tables configured (established 4096 bind 4096)
[    1.080855] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.081402] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.082035] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.082690] RPC: Registered named UNIX socket transport module.
[    1.083189] RPC: Registered udp transport module.
[    1.083577] RPC: Registered tcp transport module.
[    1.083967] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.084503] pci_bus 0000:00: resource 4 [io  0x0000-0xffff]
[    1.084966] pci_bus 0000:00: resource 5 [mem 0x00000000-0x7fffffffff]
[    1.085499] PCI: CLS 0 bytes, default 64
[    1.086014] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms 
ovfl timer
[    1.086101] Trying to unpack rootfs image as initramfs...
[    1.086671] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
[    1.087609] RAPL PMU: hw unit of domain package 2^-14 Joules
[    1.088082] RAPL PMU: hw unit of domain dram 2^-14 Joules
[    1.088530] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
[    1.089008] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 
0x23fa763a3d1, max_idle_ns: 440795313647 ns
[    1.095085] clocksource: Switched to clocksource tsc
[    1.132511] Freeing initrd memory: 35740K
<missed 676 bytes of console log>
<missed 3 bytes of console log>
<missed 1 bytes of console log>
1.435025] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    1.435644] io scheduler mq-deadline registered
[    1.436018] io scheduler kyber registered
[    1.454343] Linux agpgart interface v0.103
[    1.454708] AMD-Vi: AMD IOMMUv2 functionality not available on this system - 
This is not a bug.
[    1.458754] brd: module loaded
[    1.459416] usbcore: registered new interface driver asix
[    1.459874] usbcore: registered new interface driver ax88179_178a
[    1.460387] usbcore: registered new interface driver cdc_ether
[    1.460878] usbcore: registered new interface driver cdc_eem
[    1.461354] usbcore: registered new interface driver dm9601
[    1.461825] usbcore: registered new interface driver sr9700
[    1.462298] usbcore: registered new interface driver CoreChips
[    1.462794] usbcore: registered new interface driver smsc75xx
[    1.463292] usbcore: registered new interface driver smsc95xx
[    1.463778] usbcore: registered new interface driver gl620a
[    1.464247] usbcore: registered new interface driver net1080
[    1.464723] usbcore: registered new interface driver plusb
[    1.465186] usbcore: registered new interface driver rndis_host
[    1.465683] usbcore: registered new interface driver cdc_subset
[    1.466181] usbcore: registered new interface driver zaurus
[    1.466652] usbcore: registered new interface driver MOSCHIP usb-ethernet 
driver
[    1.467287] usbcore: registered new interface driver cdc_ncm
[    1.467764] usbcore: registered new interface driver huawei_cdc_ncm
[    1.468291] usbcore: registered new interface driver cdc_mbim
[    1.468775] usbcore: registered new interface driver r8153_ecm
[    1.469309] usbcore: registered new interface driver cdc_wdm
[    1.469792] usbcore: registered new interface driver usb-storage
[    1.470379] mousedev: PS/2 mouse device common for all mice
[    1.470901] intel_pstate: HWP enabled by BIOS
[    1.471271] intel_pstate: Intel P-state driver initializing
[    1.471856] intel_pstate: Disabling energy efficiency optimization
[    1.472365] intel_pstate: HWP enabled
[    1.472693] sdhci: Secure Digital Host Controller Interface driver
[    1.473201] sdhci: Copyright(c) Pierre Ossman
[    1.473640] printk: console [jailhouse0] enabled
[    1.474022] printk: bootconsole [jailhouse0] disabled
[    1.473640] printk: console [jailhouse0] enabled
[    1.474022] printk: bootconsole [jailhouse0] disabled
[    1.474585] 9pnet: Installing 9P2000 support
[    1.474602] Key type dns_resolver registered
[    1.474738] IPI shorthand broadcast: enabled
[    1.474759] sched_clock: Marking stable (1376202495, 95062918)->(1518403804, 
-47138391)
[    1.474863] printk: console [jailhouse0]: printing thread started
[    1.474898] registered taskstats version 1
[    1.474900] Loading compiled-in X.509 certificates
[    1.475213] Btrfs loaded, crc32c=crc32c-generic, zoned=no, fsverity=no
[   13.755116] clk: Not disabling unused clocks
[   13.755140] Warning: unable to open an initial console.
[   13.755657] Freeing unused kernel image (initmem) memory: 1300K
[   13.771096] Write protecting the kernel read-only data: 16384k
[   13.772326] Freeing unused kernel image (text/rodata gap) memory: 2036K
[   13.772936] Freeing unused kernel image (rodata/data gap) memory: 1240K
[   13.773012] rodata_test: all tests were successful
[   13.773020] Run /init as init process
[   28.879599] NET: Registered PF_INET6 protocol family
[   28.879983] Segment Routing with IPv6
[   28.879995] In-situ OAM (IOAM) with IPv6
[   28.931575] cfg80211: Loading compiled-in X.509 certificates for regulatory 
database
[   28.938745] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
 
#include <jailhouse/types.h>
#include <jailhouse/cell-config.h>
 
struct {
        struct jailhouse_cell_desc cell;
        __u64 cpus[1];
        struct jailhouse_memory mem_regions[3];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pio pio_regions[4];
        // struct jailhouse_pci_device pci_devices[2];
} __attribute__((packed)) config = {
        .cell = {
                .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
                .revision = JAILHOUSE_CONFIG_REVISION,
                .architecture = JAILHOUSE_X86,
                .name = "linux-lenovo",
                // .flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
                //      JAILHOUSE_CELL_VIRTUAL_CONSOLE_PERMITTED |
                //      JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE , 
                //      //  JAILHOUSE_CELL_VIRTUAL_CONSOLE_ACTIVE,
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
                         JAILHOUSE_CELL_VIRTUAL_CONSOLE_ACTIVE,
                .cpu_set_size = sizeof(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pio_regions = ARRAY_SIZE(config.pio_regions),
                // .num_pci_devices = ARRAY_SIZE(config.pci_devices),
        },
 
        .cpus = {
                0b1100,//1 CPU ,
        },
 
        .mem_regions = {
                // JAILHOUSE_SHMEM_NET_REGIONS(0x44000000, 1),
                /* low RAM */ {
                        .phys_start = 0x3a600000,
                        .virt_start = 0,
                        .size = 0x00100000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
                                JAILHOUSE_MEM_LOADABLE,
                },
                /* communication region */ {
                        .virt_start = 0x00100000,
                        // .size = 0x00001000,
                        .size = 0x00100000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |     
                                
                                JAILHOUSE_MEM_COMM_REGION | JAILHOUSE_MEM_DMA ,
                },
                /* high RAM */ {
                        .phys_start = 0x3a800000,
                        // .virt_start = 0x20000000,
                        .virt_start = 0x00200000,
                        .size = 0x15800000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
                                JAILHOUSE_MEM_LOADABLE,
                },
        },
 
        .irqchips = {
                /* IOAPIC */ 
                {
                        .address = 0xfec00000,
                        .id = 0x1f0f8,
                        .pin_bitmap = {
                                (1 << 3) | (1 << 4) | (1 << 11) | (1 << 19), //0
                                0,
                                0,
                                (1 << (127-96)), //0,
                        },
                },
        },

        .pio_regions = {
                // /* Port I/O: 3000-30ff : 0000:04:00.0 */
                // PIO_RANGE(0x3000, 0x100),
                // PIO_RANGE(0x44,0x2),
                PIO_RANGE(0x4e, 0x1),
                PIO_RANGE(0x4f, 0x1),
                PIO_RANGE(0x2e, 0x1),
                PIO_RANGE(0x2f, 0x1),
                
                // PIO_RANGE(0x1800, 0xff),

        },

        // .pci_devices = {
        //      // /* IVSHMEM: 00:05.0*/
        //      // {
        //      //      .type = JAILHOUSE_PCI_TYPE_IVSHMEM,
        //      //      .domain = 0x0,
        //      //      .bdf = 0x28,
        //      //      .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX,
        //      //      .num_msix_vectors = 2,
        //      //      .shmem_regions_start = 0,
        //      //      .shmem_dev_id = 1, 
        //      //      .shmem_peers = 2,
        //      //      .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
        //      // },
        // },
};
/*
 * Jailhouse, a Linux-based partitioning hypervisor
 *
 * Copyright (c) Siemens AG, 2014-2017
 *
 * 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 LENOVO 80WW
 * created with '/usr/local/libexec/jailhouse/jailhouse config create lenovo.c'
 *
 * NOTE: This config expects the following to be appended to your kernel cmdline
 *       "memmap=0x1ec00000$0x3a000000"
 */

#include <jailhouse/types.h>
#include <jailhouse/cell-config.h>

struct {
        struct jailhouse_system header;
        __u64 cpus[1];
        struct jailhouse_memory mem_regions[55];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pio pio_regions[14];
        struct jailhouse_pci_device pci_devices[21];
        struct jailhouse_pci_capability pci_caps[93];
} __attribute__((packed)) config = {
        .header = {
                .signature = JAILHOUSE_SYSTEM_SIGNATURE,
                .revision = JAILHOUSE_CONFIG_REVISION,
                .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE,
                .hypervisor_memory = {
                        .phys_start = 0x3a000000,
                        .size = 0x600000,
                },
                .debug_console = {
                        .address = 0x3f8,
                        .type = JAILHOUSE_CON_TYPE_8250,
                        .flags = JAILHOUSE_CON_ACCESS_PIO |
                                 JAILHOUSE_CON_REGDIST_1,
                },
                .platform_info = {
                        .pci_mmconfig_base = 0xe0000000,
                        .pci_mmconfig_end_bus = 0xff,
                        .iommu_units = {
                                {
                                        .type = JAILHOUSE_IOMMU_INTEL,
                                        .base = 0xfed90000,
                                        .size = 0x1000,
                                },
                                {
                                        .type = JAILHOUSE_IOMMU_INTEL,
                                        .base = 0xfed91000,
                                        .size = 0x1000,
                                },
                        },
                        .x86 = {
                                .pm_timer_address = 0x1808,
                                .vtd_interrupt_limit = 256,
                        },
                },
                .root_cell = {
                        .name = "Lenovo",
                        .cpu_set_size = sizeof(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        .num_pio_regions = ARRAY_SIZE(config.pio_regions),
                        .num_pci_devices = ARRAY_SIZE(config.pci_devices),
                        .num_pci_caps = ARRAY_SIZE(config.pci_caps),
                },
        },

        .cpus = {
                0b1111,
        },

        .mem_regions = {
        
                /* MemRegion: 00000000-00057fff : System RAM */
                {
                        .phys_start = 0x0,
                        .virt_start = 0x0,
                        .size = 0x58000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
                /* MemRegion: 00059000-00087fff : System RAM */
                {
                        .phys_start = 0x59000,
                        .virt_start = 0x59000,
                        .size = 0x2f000,
                        .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: 000f0000-000fffff : System ROM */
                {
                        .phys_start = 0xf0000,
                        .virt_start = 0xf0000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: 00100000-39ffffff : System RAM */
                {
                        .phys_start = 0x100000,
                        .virt_start = 0x100000,
                        .size = 0x39f00000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
                /* MemRegion: 58c00000-62d3cfff : System RAM */
                {
                        .phys_start = 0x58c00000,
                        .virt_start = 0x58c00000,
                        .size = 0xa13d000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
                /* MemRegion: 62d3d000-62d3dfff : ACPI Non-volatile Storage */
                {
                        .phys_start = 0x62d3d000,
                        .virt_start = 0x62d3d000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: 62d3f000-7a48dfff : System RAM */
                {
                        .phys_start = 0x62d3f000,
                        .virt_start = 0x62d3f000,
                        .size = 0x1774f000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
                /* MemRegion: 7ae7e000-7ce7dfff : ACPI Non-volatile Storage */
                {
                        .phys_start = 0x7ae7e000,
                        .virt_start = 0x7ae7e000,
                        .size = 0x2000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: 7ce7e000-7cefdfff : ACPI Tables */
                {
                        .phys_start = 0x7ce7e000,
                        .virt_start = 0x7ce7e000,
                        .size = 0x80000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: 7cefe000-7cefefff : System RAM */
                {
                        .phys_start = 0x7cefe000,
                        .virt_start = 0x7cefe000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
                /* MemRegion: 80000000-8001ffff : pnp 00:09 */
                {
                        .phys_start = 0x80000000,
                        .virt_start = 0x80000000,
                        .size = 0x20000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: 90000000-9fffffff : 0000:01:00.0 */
                {
                        .phys_start = 0x90000000,
                        .virt_start = 0x90000000,
                        .size = 0x10000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a0000000-a1ffffff : 0000:01:00.0 */
                {
                        .phys_start = 0xa0000000,
                        .virt_start = 0xa0000000,
                        .size = 0x2000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a2000000-a2ffffff : 0000:00:02.0 */
                {
                        .phys_start = 0xa2000000,
                        .virt_start = 0xa2000000,
                        .size = 0x1000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a3000000-a3ffffff : 0000:01:00.0 */
                {
                        .phys_start = 0xa3000000,
                        .virt_start = 0xa3000000,
                        .size = 0x1000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4000000-a4002fff : 0000:05:00.0 */
                {
                        .phys_start = 0xa4000000,
                        .virt_start = 0xa4000000,
                        .size = 0x3000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4101000-a4103fff : 0000:04:00.0 */
                {
                        .phys_start = 0xa4101000,
                        .virt_start = 0xa4101000,
                        .size = 0x3000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4104000-a4104fff : r8169 */
                {
                        .phys_start = 0xa4104000,
                        .virt_start = 0xa4104000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4200000-a4201fff : iwlwifi */
                {
                        .phys_start = 0xa4200000,
                        .virt_start = 0xa4200000,
                        .size = 0x2000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4300000-a43007ff : 0000:02:00.0 */
                {
                        .phys_start = 0xa4300000,
                        .virt_start = 0xa4300000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4301000-a4301fff : mmc0 */
                {
                        .phys_start = 0xa4301000,
                        .virt_start = 0xa4301000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4400000-a440ffff : 0000:00:1f.3 */
                {
                        .phys_start = 0xa4400000,
                        .virt_start = 0xa4400000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4410000-a441ffff : xhci-hcd */
                {
                        .phys_start = 0xa4410000,
                        .virt_start = 0xa4410000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4420000-a4423fff : ICH HD audio */
                {
                        .phys_start = 0xa4420000,
                        .virt_start = 0xa4420000,
                        .size = 0x4000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4424000-a4427fff : 0000:00:1f.2 */
                {
                        .phys_start = 0xa4424000,
                        .virt_start = 0xa4424000,
                        .size = 0x4000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a4428000-a4429fff : ahci */
                {
                        .phys_start = 0xa4428000,
                        .virt_start = 0xa4428000,
                        .size = 0x2000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a442a000-a442afff : 0000:00:14.2 */
                {
                        .phys_start = 0xa442a000,
                        .virt_start = 0xa442a000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a442b000-a442bfff : 0000:00:16.0 */
                {
                        .phys_start = 0xa442b000,
                        .virt_start = 0xa442b000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a442c000-a442c7ff : ahci */
                {
                        .phys_start = 0xa442c000,
                        .virt_start = 0xa442c000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a442d000-a442d0ff : 0000:00:1f.4 */
                {
                        .phys_start = 0xa442d000,
                        .virt_start = 0xa442d000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: a442e000-a442e0ff : ahci */
                {
                        .phys_start = 0xa442e000,
                        .virt_start = 0xa442e000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: b0000000-b07e8fff : efifb */
                {
                        .phys_start = 0xb0000000,
                        .virt_start = 0xb0000000,
                        .size = 0x7e9000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fd000000-fdabffff : pnp 00:00 */
                {
                        .phys_start = 0xfd000000,
                        .virt_start = 0xfd000000,
                        .size = 0xac0000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fdac0000-fdacffff : INT345D:00 */
                {
                        .phys_start = 0xfdac0000,
                        .virt_start = 0xfdac0000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fdad0000-fdadffff : pnp 00:00 */
                {
                        .phys_start = 0xfdad0000,
                        .virt_start = 0xfdad0000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fdae0000-fdaeffff : INT345D:00 */
                {
                        .phys_start = 0xfdae0000,
                        .virt_start = 0xfdae0000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fdaf0000-fdafffff : INT345D:00 */
                {
                        .phys_start = 0xfdaf0000,
                        .virt_start = 0xfdaf0000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fdc6000c-fdc6000f : iTCO_wdt */
                {
                        .phys_start = 0xfdc6000c,
                        .virt_start = 0xfdc6000c,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fe000000-fe01ffff : pnp 00:00 */
                {
                        .phys_start = 0xfe000000,
                        .virt_start = 0xfe000000,
                        .size = 0x20000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fe036000-fe03bfff : pnp 00:00 */
                {
                        .phys_start = 0xfe036000,
                        .virt_start = 0xfe036000,
                        .size = 0x6000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fe03d000-fe3fffff : pnp 00:00 */
                {
                        .phys_start = 0xfe03d000,
                        .virt_start = 0xfe03d000,
                        .size = 0x3c3000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fe410000-fe7fffff : pnp 00:00 */
                {
                        .phys_start = 0xfe410000,
                        .virt_start = 0xfe410000,
                        .size = 0x3f0000,
                        .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: fed10000-fed17fff : pnp 00:09 */
                {
                        .phys_start = 0xfed10000,
                        .virt_start = 0xfed10000,
                        .size = 0x8000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fed18000-fed18fff : pnp 00:09 */
                {
                        .phys_start = 0xfed18000,
                        .virt_start = 0xfed18000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fed19000-fed19fff : pnp 00:09 */
                {
                        .phys_start = 0xfed19000,
                        .virt_start = 0xfed19000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fed20000-fed3ffff : pnp 00:09 */
                {
                        .phys_start = 0xfed20000,
                        .virt_start = 0xfed20000,
                        .size = 0x20000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: fed40000-fed40fff : MSFT0101:00 */
                {
                        .phys_start = 0xfed40000,
                        .virt_start = 0xfed40000,
                        .size = 0x1000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
                /* MemRegion: 100000000-27fffffff : System RAM */
                {
                        .phys_start = 0x100000000,
                        .virt_start = 0x100000000,
                        .size = 0x180000000,
                        .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: 7ad72000-7ad91fff : ACPI DMAR RMRR */
                /* PCI device: 00:14.0 */
                {
                        .phys_start = 0x7ad72000,
                        .virt_start = 0x7ad72000,
                        .size = 0x20000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
                /* MemRegion: 7d800000-7fffffff : ACPI DMAR RMRR */
                /* PCI device: 00:02.0 */
                {
                        .phys_start = 0x7d800000,
                        .virt_start = 0x7d800000,
                        .size = 0x2800000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
                /* MemRegion: 3a60 0000-58c0 0000 : JAILHOUSE Inmate Memory */
                {
                        .phys_start = 0x3a600000,
                        .virt_start = 0x3a600000,
                        // .size = 0x4c00000,
            // .size=0x1e600000,
            .size=0x15a00000,

                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
        },

        .irqchips = {
                /* IOAPIC 2, GSI base 0 */
                {
                        .address = 0xfec00000,
                        .id = 0x1f0f8,
                        .pin_bitmap = {
                                0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
                        },
                },
        },

        .pio_regions = {
        /* Port I/O: 0000-001f : dma1 */
                /* PIO_RANGE(0x0, 0x20), */
                /* Port I/O: 0020-0021 : pic1 */
                /* PIO_RANGE(0x20, 0x2), */
                /* Port I/O: 0040-0043 : timer0 */
                PIO_RANGE(0x40, 0x4),
                /* Port I/O: 0050-0053 : timer1 */
                /* PIO_RANGE(0x50, 0x4), */
                /* Port I/O: 0060-0060 : keyboard */
                PIO_RANGE(0x60, 0x1),

                PIO_RANGE(0x61, 0x1),
                /* Port I/O: 0062-0062 : EC data */
                /* PIO_RANGE(0x62, 0x1), */
                /* Port I/O: 0064-0064 : keyboard */
                PIO_RANGE(0x64, 0x1),
                /* Port I/O: 0066-0066 : EC cmd */
                /* PIO_RANGE(0x66, 0x1), */

                PIO_RANGE(0x70, 0x1),//
                PIO_RANGE(0x71, 0x1),//
                PIO_RANGE(0x1800, 0x2),//

                /* Port I/O: 0080-008f : dma page reg */
                /* PIO_RANGE(0x80, 0x10), */
                /* Port I/O: 00a0-00a1 : pic2 */
                /* PIO_RANGE(0xa0, 0x2), */
                /* Port I/O: 00c0-00df : dma2 */
                /* PIO_RANGE(0xc0, 0x20), */
                /* Port I/O: 00f0-00f0 : PNP0C04:00 */
                /* PIO_RANGE(0xf0, 0x1), */
                /* Port I/O: 0400-041f : iTCO_wdt */
                /* PIO_RANGE(0x400, 0x20), */
                /* Port I/O: 0680-069f : pnp 00:02 */
                /* PIO_RANGE(0x680, 0x20), */
                /* Port I/O: 0800-087f : pnp 00:03 */
                /* PIO_RANGE(0x800, 0x80), */
                /* Port I/O: 3000-30ff : 0000:04:00.0 */
                PIO_RANGE(0x3000, 0x100),
                /* Port I/O: 4000-407f : 0000:01:00.0 */
                PIO_RANGE(0x4000, 0x80),
                /* Port I/O: 5000-503f : 0000:00:02.0 */
                PIO_RANGE(0x5000, 0x40),
                /* Port I/O: 5040-505f : 0000:00:1f.4 */
                PIO_RANGE(0x5040, 0x20),
                /* Port I/O: 5060-507f : 0000:00:17.0 */
                PIO_RANGE(0x5060, 0x20),
                /* Port I/O: 5080-5087 : 0000:00:17.0 */
                PIO_RANGE(0x5080, 0x8),
                /* Port I/O: 5088-508b : 0000:00:17.0 */
                PIO_RANGE(0x5088, 0x4),
        
        },

        .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 = 1,
                        .num_msi_vectors = 0,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = 1,
                        .num_caps = 7,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 00:02.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 0,
                        .domain = 0x0,
                        .bdf = 0x10,
                        .bar_mask = {
                                0xff000000, 0xffffffff, 0xf0000000,
                                0xffffffff, 0xffffffc0, 0x00000000,
                        },
                        .caps_start = 8,
                        .num_caps = 7,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 00:14.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0xa0,
                        .bar_mask = {
                                0xffff0000, 0xffffffff, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 15,
                        .num_caps = 2,
                        .num_msi_vectors = 8,
                        .msi_64bits = 1,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 00:14.2 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0xa2,
                        .bar_mask = {
                                0xfffff000, 0xffffffff, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 17,
                        .num_caps = 2,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = {
                                0xfffff000, 0xffffffff, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 19,
                        .num_caps = 2,
                        .num_msi_vectors = 1,
                        .msi_64bits = 1,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 00:17.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0xb8,
                        .bar_mask = {
                                0xffffe000, 0xffffff00, 0xfffffff8,
                                0xfffffffc, 0xffffffe0, 0xfffff800,
                        },
                        .caps_start = 21,
                        .num_caps = 3,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = 24,
                        .num_caps = 8,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = 32,
                        .num_caps = 8,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = 40,
                        .num_caps = 7,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 00:1d.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_BRIDGE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0xe8,
                        .bar_mask = {
                                0x00000000, 0x00000000, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 24,
                        .num_caps = 8,
                        .num_msi_vectors = 1,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = 0,
                        .num_caps = 0,
                        .num_msi_vectors = 0,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = {
                                0xffffc000, 0x00000000, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 0,
                        .num_caps = 0,
                        .num_msi_vectors = 0,
                        .msi_64bits = 0,
                        .msi_maskable = 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 = {
                                0xffffc000, 0xffffffff, 0x00000000,
                                0x00000000, 0xffff0000, 0xffffffff,
                        },
                        .caps_start = 47,
                        .num_caps = 2,
                        .num_msi_vectors = 1,
                        .msi_64bits = 1,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 00:1f.4 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0xfc,
                        .bar_mask = {
                                0xffffff00, 0xffffffff, 0x00000000,
                                0x00000000, 0xffffffe0, 0x00000000,
                        },
                        .caps_start = 0,
                        .num_caps = 0,
                        .num_msi_vectors = 0,
                        .msi_64bits = 0,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 01:00.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0x100,
                        .bar_mask = {
                                0xff000000, 0xf0000000, 0xffffffff,
                                0xfe000000, 0xffffffff, 0xffffff80,
                        },
                        .caps_start = 49,
                        .num_caps = 10,
                        .num_msi_vectors = 1,
                        .msi_64bits = 1,
                        .msi_maskable = 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 = {
                                0xfffff000, 0xfffff800, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 59,
                        .num_caps = 7,
                        .num_msi_vectors = 1,
                        .msi_64bits = 1,
                        .msi_maskable = 1,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 03:00.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0x300,
                        .bar_mask = {
                                0xffffe000, 0xffffffff, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 66,
                        .num_caps = 7,
                        .num_msi_vectors = 1,
                        .msi_64bits = 1,
                        .msi_maskable = 0,
                        .num_msix_vectors = 0,
                        .msix_region_size = 0x0,
                        .msix_address = 0x0,
                },
                /* PCIDevice: 04:00.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0x400,
                        .bar_mask = {
                                0xffffff00, 0x00000000, 0xfffff000,
                                0xffffffff, 0xffffc000, 0xffffffff,
                        },
                        .caps_start = 73,
                        .num_caps = 10,
                        .num_msi_vectors = 1,
                        .msi_64bits = 1,
                        .msi_maskable = 0,
                        .num_msix_vectors = 4,
                        .msix_region_size = 0x1000,
                        .msix_address = 0xa4100000,
                },
                /* PCIDevice: 05:00.0 */
                {
                        .type = JAILHOUSE_PCI_TYPE_DEVICE,
                        .iommu = 1,
                        .domain = 0x0,
                        .bdf = 0x500,
                        .bar_mask = {
                                0xffffc000, 0xffffffff, 0x00000000,
                                0x00000000, 0x00000000, 0x00000000,
                        },
                        .caps_start = 83,
                        .num_caps = 10,
                        .num_msi_vectors = 32,
                        .msi_64bits = 1,
                        .msi_maskable = 0,
                        .num_msix_vectors = 33,
                        .msix_region_size = 0x1000,
                        .msix_address = 0xa4003000,
                },

                // /* IVSHMEM: 00:10.0 */
                // {
                //      .type = JAILHOUSE_PCI_TYPE_IVSHMEM,
                //      .iommu = 1,
                //      .domain = 0x0,
                //      .bdf = 0x10 << 3,
                //      .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX,
                //      .num_msix_vectors = 16,
                //      .shmem_regions_start = 0,
                //      .shmem_dev_id = 0,
                //      .shmem_peers = 3,
                //      .shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED,
                // },
                /* IVSHMEM: 00:11.0 */
                // {
                //      .type = JAILHOUSE_PCI_TYPE_IVSHMEM,
                //      .iommu = 1,
                //      .domain = 0x0,
                //      .bdf = 0x11 << 3,
                //      .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX,
                //      .num_msix_vectors = 3,
                //      .shmem_regions_start = 5,
                //      .shmem_dev_id = 0,
                //      .shmem_peers = 2,
                //      .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
                // },

        },

        .pci_caps = {
                /* PCIDevice: 00:00.0 */
                {
                        .id = PCI_CAP_ID_VNDR,
                        .start = 0xe0,
                        .len = 0x2,
                        .flags = 0,
                },
                /* PCIDevice: 00:01.0 */
                {
                        .id = PCI_CAP_ID_SSVID,
                        .start = 0x88,
                        .len = 0x2,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x80,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x90,
                        .len = 0xa,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0xa0,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_VC | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x10,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_RCLD | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x140,
                        .len = 0x4,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0xd94,
                        .len = 0x10,
                        .flags = 0,
                },
                /* PCIDevice: 00:02.0 */
                {
                        .id = PCI_CAP_ID_VNDR,
                        .start = 0x40,
                        .len = 0x2,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x70,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0xac,
                        .len = 0xa,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0xd0,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_EXT_CAP_ID_PASID | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ATS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x200,
                        .len = 0x4,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_PRI | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x300,
                        .len = 0x4,
                        .flags = 0,
                },
                /* PCIDevice: 00:14.0 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x70,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x80,
                        .len = 0xe,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                /* PCIDevice: 00:14.2 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x50,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x80,
                        .len = 0xa,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                /* PCIDevice: 00:16.0 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x50,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x8c,
                        .len = 0xe,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                /* PCIDevice: 00:17.0 */
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x80,
                        .len = 0xa,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x70,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_SATA,
                        .start = 0xa8,
                        .len = 0x2,
                        .flags = 0,
                },
                /* PCIDevice: 00:1c.0 */
                /* PCIDevice: 00:1d.0 */
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x40,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x80,
                        .len = 0xa,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_SSVID,
                        .start = 0x90,
                        .len = 0x2,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0xa0,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x40,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ACS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x140,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x200,
                        .len = 0x4,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x220,
                        .len = 0x10,
                        .flags = 0,
                },
                /* PCIDevice: 00:1c.2 */
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x40,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x80,
                        .len = 0xa,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_SSVID,
                        .start = 0x90,
                        .len = 0x2,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0xa0,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = 0x0 | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x4,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ACS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x140,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x200,
                        .len = 0x4,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x220,
                        .len = 0x10,
                        .flags = 0,
                },
                /* PCIDevice: 00:1c.3 */
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x40,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x80,
                        .len = 0xa,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_SSVID,
                        .start = 0x90,
                        .len = 0x2,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0xa0,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = 0x0 | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x4,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ACS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x140,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x220,
                        .len = 0x10,
                        .flags = 0,
                },
                /* PCIDevice: 00:1f.3 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x50,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x60,
                        .len = 0xe,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                /* PCIDevice: 01:00.0 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x60,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x68,
                        .len = 0xe,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x78,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_VC | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x10,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_LTR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x250,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x258,
                        .len = 0x4,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_PWR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x128,
                        .len = 0x10,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x420,
                        .len = 0x40,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_VNDR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x600,
                        .len = 0x28,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x900,
                        .len = 0x10,
                        .flags = 0,
                },
                /* PCIDevice: 02:00.0 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x6c,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x48,
                        .len = 0x18,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x80,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_VC | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x10,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x200,
                        .len = 0x40,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_LTR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x230,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x240,
                        .len = 0x4,
                        .flags = 0,
                },
                /* PCIDevice: 03:00.0 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0xc8,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0xd0,
                        .len = 0xe,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x40,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x40,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_DSN | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x140,
                        .len = 0xc,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_LTR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x14c,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x154,
                        .len = 0x4,
                        .flags = 0,
                },
                /* PCIDevice: 04:00.0 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x40,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x50,
                        .len = 0xe,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x70,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_MSIX,
                        .start = 0xb0,
                        .len = 0xc,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_VPD,
                        .start = 0xd0,
                        .len = 0x2,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x40,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_VC | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x140,
                        .len = 0x10,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_DSN | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x160,
                        .len = 0xc,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_LTR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x170,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x178,
                        .len = 0x4,
                        .flags = 0,
                },
                /* PCIDevice: 05:00.0 */
                {
                        .id = PCI_CAP_ID_PM,
                        .start = 0x40,
                        .len = 0x8,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_MSI,
                        .start = 0x50,
                        .len = 0xe,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_CAP_ID_EXP,
                        .start = 0x70,
                        .len = 0x3c,
                        .flags = 0,
                },
                {
                        .id = PCI_CAP_ID_MSIX,
                        .start = 0xb0,
                        .len = 0xc,
                        .flags = JAILHOUSE_PCICAPS_WRITE,
                },
                {
                        .id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x100,
                        .len = 0x40,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_DSN | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x148,
                        .len = 0xc,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_PWR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x158,
                        .len = 0x10,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x168,
                        .len = 0x10,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_LTR | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x188,
                        .len = 0x8,
                        .flags = 0,
                },
                {
                        .id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
                        .start = 0x190,
                        .len = 0x4,
                        .flags = 0,
                },
        },
};
00000000-00000fff : Reserved
00001000-00057fff : System RAM
00058000-00058fff : Reserved
00059000-00087fff : System RAM
00088000-000fffff : Reserved
  000a0000-000bffff : PCI Bus 0000:00
  000c0000-000cffff : Video ROM
  000d0000-000d0fff : Adapter ROM
  000f0000-000fffff : System ROM
00100000-39ffffff : System RAM
  03000000-03a02a87 : Kernel code
  03c00000-03ec9fff : Kernel rodata
  04000000-04208a3f : Kernel data
  045dc000-047fffff : Kernel bss
3a000000-58bfffff : Reserved
  3a000000-3a5fffff : Jailhouse hypervisor
58c00000-609a5017 : System RAM
609a5018-609b3057 : System RAM
609b3058-609b4017 : System RAM
609b4018-609c4057 : System RAM
609c4058-609c5017 : System RAM
609c5018-609ee057 : System RAM
609ee058-62d3cfff : System RAM
62d3d000-62d3dfff : ACPI Non-volatile Storage
62d3e000-62d3efff : Reserved
62d3f000-7a48dfff : System RAM
7a48e000-7ae7dfff : Reserved
7ae7e000-7ce7dfff : ACPI Non-volatile Storage
7ce7e000-7cefdfff : ACPI Tables
7cefe000-7cefefff : System RAM
7ceff000-7fffffff : Reserved
80000000-dfffffff : PCI Bus 0000:00
  80000000-8001ffff : pnp 00:09
  90000000-a1ffffff : PCI Bus 0000:01
    90000000-9fffffff : 0000:01:00.0
    a0000000-a1ffffff : 0000:01:00.0
  a2000000-a2ffffff : 0000:00:02.0
  a3000000-a3ffffff : PCI Bus 0000:01
    a3000000-a3ffffff : 0000:01:00.0
  a4000000-a40fffff : PCI Bus 0000:05
    a4000000-a4003fff : 0000:05:00.0
  a4100000-a41fffff : PCI Bus 0000:04
    a4100000-a4103fff : 0000:04:00.0
    a4104000-a4104fff : 0000:04:00.0
      a4104000-a4104fff : r8169
  a4200000-a42fffff : PCI Bus 0000:03
    a4200000-a4201fff : 0000:03:00.0
      a4200000-a4201fff : iwlwifi
  a4300000-a43fffff : PCI Bus 0000:02
    a4300000-a43007ff : 0000:02:00.0
    a4301000-a4301fff : 0000:02:00.0
      a4301000-a4301fff : mmc0
  a4400000-a440ffff : 0000:00:1f.3
  a4410000-a441ffff : 0000:00:14.0
    a4410000-a441ffff : xhci-hcd
  a4420000-a4423fff : 0000:00:1f.3
    a4420000-a4423fff : ICH HD audio
  a4424000-a4427fff : 0000:00:1f.2
  a4428000-a4429fff : 0000:00:17.0
    a4428000-a4429fff : ahci
  a442a000-a442afff : 0000:00:14.2
  a442b000-a442bfff : 0000:00:16.0
  a442c000-a442c7ff : 0000:00:17.0
    a442c000-a442c7ff : ahci
  a442d000-a442d0ff : 0000:00:1f.4
  a442e000-a442e0ff : 0000:00:17.0
    a442e000-a442e0ff : ahci
  b0000000-bfffffff : 0000:00:02.0
    b0000000-b07e8fff : efifb
e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
  e0000000-efffffff : Reserved
    e0000000-efffffff : pnp 00:09
fd000000-fe7fffff : Reserved
  fd000000-fe7fffff : PCI Bus 0000:00
    fd000000-fdabffff : pnp 00:00
    fdac0000-fdacffff : INT345D:00
    fdad0000-fdadffff : pnp 00:00
    fdae0000-fdaeffff : INT345D:00
    fdaf0000-fdafffff : INT345D:00
    fdb00000-fdffffff : pnp 00:00
      fdc6000c-fdc6000f : iTCO_wdt
    fe000000-fe01ffff : pnp 00:00
    fe036000-fe03bfff : pnp 00:00
    fe03d000-fe3fffff : pnp 00:00
    fe410000-fe7fffff : pnp 00:00
fec00000-fec00fff : Reserved
  fec00000-fec003ff : IOAPIC 0
fed00000-fed00fff : Reserved
  fed00000-fed003ff : HPET 0
    fed00000-fed003ff : PNP0103:00
fed10000-fed19fff : Reserved
  fed10000-fed17fff : pnp 00:09
  fed18000-fed18fff : pnp 00:09
  fed19000-fed19fff : pnp 00:09
fed20000-fed3ffff : pnp 00:09
fed40000-fed40fff : MSFT0101:00
fed84000-fed84fff : Reserved
fed90000-fed90fff : dmar0
fed91000-fed91fff : dmar1
fee00000-fee00fff : Local APIC
  fee00000-fee00fff : Reserved
ff000000-ffffffff : INT0800:00
  ffa00000-ffffffff : Reserved
100000000-27effffff : System RAM
27f000000-27fffffff : RAM buffer

Reply via email to