I have now made a few calls to the command "sudo jailhouse enable 
$HOME/Projects/Jailhouse/jailhouse.git /configs /x86/sysconfig.cell".
Every time the whole Linux PC freezes.
The messages that are output via the COM interface show the following:

...
Page pool usage after late setup: mem 359/978, remap 16517/131072
FATAL: Invalid MMIO/RAM write, addr: 0x00000000feb82008 size: 4
RIP: 0xffffffffa14f3bb6 RSP: 0xffffb551c02a0cf0 FLAGS: 2
RAX: 0xffffb551c0080000 RBX: 0x0000000000000001 RCX: 0x000000003000000b
RDX: 0xffff97694adc0000 RSI: 0x3000000b00000000 RDI: 0x7ffffffffffff003
CS: 10 BASE: 0x0000000000000000 AR-BYTES: 29b EFER.LMA 1
CR0: 0x0000000080050033 CR3: 0x00000003cca84000 CR4: 0x00000000003406e0
EFER: 0x0000000000001d01
Parking CPU 5 (Cell: "RootCell")
...

or mostly

...
Page pool usage after late setup: mem 359/978, remap 16517/131072
FATAL: Invalid PIO read, port: 1771 size: 1
RIP: 0xffffffff9d8f5f48 RSP: 0xffffb84900127dd8 FLAGS: 93
RAX: 0x0000000000000000 RBX: 0x0000000000000002 RCX: 0x0000000000000068
RDX: 0x0000000000001771 RSI: 0xffffffff9e568b80 RDI: 0xffff898449e90498
CS: 10 BASE: 0x0000000000000000 AR-BYTES: 29b EFER.LMA 1
CR0: 0x0000000080050033 CR3: 0x00000003d7c1e000 CR4: 0x00000000003406e0
EFER: 0x0000000000001d01
Parking CPU 1 (Cell: "RootCell")
...

I've attached the system configuration and 4 log files.

What should be changed in the system configuration?
Port 1771 (0x06eb) is actually not used in the system configuration, is it?

I would be very grateful for any advice!

-- 
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 jailhouse-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/f2264785-a575-42ab-b129-343085d8bdcen%40googlegroups.com.
Initializing Jailhouse hypervisor v0.12 (81-g9b4efcf4-dirty) on CPU 14
Code location: 0xfffffffff0000050
Using xAPIC
Page pool usage after early setup: mem 123/978, remap 1/131072
Initializing processors:
 CPU 14... (APIC ID 14) OK
 CPU 2... (APIC ID 2) OK
 CPU 3... (APIC ID 3) OK
 CPU 1... (APIC ID 1) OK
 CPU 0... (APIC ID 0) OK
 CPU 8... (APIC ID 8) OK
 CPU 9... (APIC ID 9) OK
 CPU 11... (APIC ID 11) OK
 CPU 10... (APIC ID 10) OK
 CPU 4... (APIC ID 4) OK
 CPU 5... (APIC ID 5) OK
 CPU 6... (APIC ID 6) OK
 CPU 12... (APIC ID 12) OK
 CPU 15... (APIC ID 15) OK
 CPU 7... (APIC ID 7) OK
 CPU 13... (APIC ID 13) OK
Initializing unit: AMD IOMMU
AMD IOMMU @0xfeb80000/0x80000
Initializing unit: IOAPIC
Initializing unit: Test device
Initializing unit: PCI
Adding PCI device 00:00.0 to cell "RootCell"
Adding PCI device 00:01.0 to cell "RootCell"
Adding PCI device 00:01.3 to cell "RootCell"
Adding PCI device 00:02.0 to cell "RootCell"
Adding PCI device 00:03.0 to cell "RootCell"
Adding PCI device 00:03.1 to cell "RootCell"
Adding PCI device 00:04.0 to cell "RootCell"
Adding PCI device 00:07.0 to cell "RootCell"
Adding PCI device 00:07.1 to cell "RootCell"
Adding PCI device 00:08.0 to cell "RootCell"
Adding PCI device 00:08.1 to cell "RootCell"
Adding PCI device 00:14.0 to cell "RootCell"
Adding PCI device 00:14.3 to cell "RootCell"
Adding PCI device 00:18.0 to cell "RootCell"
Adding PCI device 00:18.1 to cell "RootCell"
Adding PCI device 00:18.2 to cell "RootCell"
Adding PCI device 00:18.3 to cell "RootCell"
Adding PCI device 00:18.4 to cell "RootCell"
Adding PCI device 00:18.5 to cell "RootCell"
Adding PCI device 00:18.6 to cell "RootCell"
Adding PCI device 00:18.7 to cell "RootCell"
Adding PCI device 03:00.0 to cell "RootCell"
Adding PCI device 03:00.1 to cell "RootCell"
Adding PCI device 03:00.2 to cell "RootCell"
Adding PCI device 1d:00.0 to cell "RootCell"
Adding PCI device 1d:04.0 to cell "RootCell"
Adding PCI device 1d:05.0 to cell "RootCell"
Adding PCI device 1d:06.0 to cell "RootCell"
Adding PCI device 1d:07.0 to cell "RootCell"
Adding PCI device 22:00.0 to cell "RootCell"
Adding PCI device 25:00.0 to cell "RootCell"
Adding PCI device 27:00.0 to cell "RootCell"
Adding PCI device 27:00.1 to cell "RootCell"
Adding PCI device 28:00.0 to cell "RootCell"
Adding PCI device 28:00.2 to cell "RootCell"
Adding PCI device 28:00.3 to cell "RootCell"
Adding PCI device 29:00.0 to cell "RootCell"
Adding PCI device 29:00.2 to cell "RootCell"
Adding PCI device 29:00.3 to cell "RootCell"
Page pool usage after late setup: mem 359/978, remap 16517/131072
FATAL: Invalid MMIO/RAM write, addr: 0x00000000feb82008 size: 4
RIP: 0xffffffffa14f3bb6 RSP: 0xffffb551c02a0cf0 FLAGS: 2
RAX: 0xffffb551c0080000 RBX: 0x0000000000000001 RCX: 0x000000003000000b
RDX: 0xffff97694adc0000 RSI: 0x3000000b00000000 RDI: 0x7ffffffffffff003
CS: 10 BASE: 0x0000000000000000 AR-BYTES: 29b EFER.LMA 1
CR0: 0x0000000080050033 CR3: 0x00000003cca84000 CR4: 0x00000000003406e0
EFER: 0x0000000000001d01
Parking CPU 5 (Cell: "RootCell")
Ignoring NMI IPI to CPU 0
Ignoring NMI IPI to CPU 1
Ignoring NMI IPI to CPU 2
Ignoring NMI IPI to CPU 3
Ignoring NMI IPI to CPU 4
Ignoring NMI IPI to CPU 5
Ignoring NMI IPI to CPU 6
Ignoring NMI IPI to CPU 8
Ignoring NMI IPI to CPU 9
Ignoring NMI IPI to CPU 10
Ignoring NMI IPI to CPU 11
Ignoring NMI IPI to CPU 12
Ignoring NMI IPI to CPU 13
Ignoring NMI IPI to CPU 14
Ignoring NMI IPI to CPU 15
Initializing Jailhouse hypervisor v0.12 (81-g9b4efcf4-dirty) on CPU 4
Code location: 0xfffffffff0000050
Using xAPIC
Page pool usage after early setup: mem 123/978, remap 1/131072
Initializing processors:
 CPU 4... (APIC ID 4) OK
 CPU 8... (APIC ID 8) OK
 CPU 11... (APIC ID 11) OK
 CPU 10... (APIC ID 10) OK
 CPU 14... (APIC ID 14) OK
 CPU 15... (APIC ID 15) OK
 CPU 3... (APIC ID 3) OK
 CPU 6... (APIC ID 6) OK
 CPU 7... (APIC ID 7) OK
 CPU 5... (APIC ID 5) OK
 CPU 9... (APIC ID 9) OK
 CPU 0... (APIC ID 0) OK
 CPU 2... (APIC ID 2) OK
 CPU 13... (APIC ID 13) OK
 CPU 12... (APIC ID 12) OK
 CPU 1... (APIC ID 1) OK
Initializing unit: AMD IOMMU
AMD IOMMU @0xfeb80000/0x80000
Initializing unit: IOAPIC
Initializing unit: Test device
Initializing unit: PCI
Adding PCI device 00:00.0 to cell "RootCell"
Adding PCI device 00:01.0 to cell "RootCell"
Adding PCI device 00:01.3 to cell "RootCell"
Adding PCI device 00:02.0 to cell "RootCell"
Adding PCI device 00:03.0 to cell "RootCell"
Adding PCI device 00:03.1 to cell "RootCell"
Adding PCI device 00:04.0 to cell "RootCell"
Adding PCI device 00:07.0 to cell "RootCell"
Adding PCI device 00:07.1 to cell "RootCell"
Adding PCI device 00:08.0 to cell "RootCell"
Adding PCI device 00:08.1 to cell "RootCell"
Adding PCI device 00:14.0 to cell "RootCell"
Adding PCI device 00:14.3 to cell "RootCell"
Adding PCI device 00:18.0 to cell "RootCell"
Adding PCI device 00:18.1 to cell "RootCell"
Adding PCI device 00:18.2 to cell "RootCell"
Adding PCI device 00:18.3 to cell "RootCell"
Adding PCI device 00:18.4 to cell "RootCell"
Adding PCI device 00:18.5 to cell "RootCell"
Adding PCI device 00:18.6 to cell "RootCell"
Adding PCI device 00:18.7 to cell "RootCell"
Adding PCI device 03:00.0 to cell "RootCell"
Adding PCI device 03:00.1 to cell "RootCell"
Adding PCI device 03:00.2 to cell "RootCell"
Adding PCI device 1d:00.0 to cell "RootCell"
Adding PCI device 1d:04.0 to cell "RootCell"
Adding PCI device 1d:05.0 to cell "RootCell"
Adding PCI device 1d:06.0 to cell "RootCell"
Adding PCI device 1d:07.0 to cell "RootCell"
Adding PCI device 22:00.0 to cell "RootCell"
Adding PCI device 25:00.0 to cell "RootCell"
Adding PCI device 27:00.0 to cell "RootCell"
Adding PCI device 27:00.1 to cell "RootCell"
Adding PCI device 28:00.0 to cell "RootCell"
Adding PCI device 28:00.2 to cell "RootCell"
Adding PCI device 28:00.3 to cell "RootCell"
Adding PCI device 29:00.0 to cell "RootCell"
Adding PCI device 29:00.2 to cell "RootCell"
Adding PCI device 29:00.3 to cell "RootCell"
Page pool usage after late setup: mem 359/978, remap 16517/131072
FATAL: Invalid PIO read, port: 1771 size: 1
RIP: 0xffffffffbd2f5f48 RSP: 0xffffad3840157dd8 FLAGS: 93
RAX: 0x0000000000000000 RBX: 0x0000000000000002 RCX: 0x0000000000000068
RDX: 0x0000000000001771 RSI: 0xffffffffbdf68b80 RDI: 0xffff8b7a89e92c98
CS: 10 BASE: 0x0000000000000000 AR-BYTES: 29b EFER.LMA 1
CR0: 0x0000000080050033 CR3: 0x00000004057c4000 CR4: 0x00000000003406e0
EFER: 0x0000000000001d01
Parking CPU 7 (Cell: "RootCell")
Ignoring NMI IPI to CPU 0
Ignoring NMI IPI to CPU 1
Ignoring NMI IPI to CPU 2
Ignoring NMI IPI to CPU 3
Ignoring NMI IPI to CPU 4
Ignoring NMI IPI to CPU 5
Ignoring NMI IPI to CPU 6
Ignoring NMI IPI to CPU 7
Ignoring NMI IPI to CPU 8
Ignoring NMI IPI to CPU 9
Ignoring NMI IPI to CPU 10
Ignoring NMI IPI to CPU 11
Ignoring NMI IPI to CPU 12
Ignoring NMI IPI to CPU 13
Ignoring NMI IPI to CPU 14
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2000000000002500, Operand 2: de4dd110
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002500, Operand 2: d8cf8040
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002500, Operand 2: de4dd100
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2008000000002500, Operand 2: fffffffdf8000000
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2000000000002803, Operand 2: fedd9990
 DeviceId (bus:dev.func): 28:00.3
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9180
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb91a0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb91c0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb91e0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9200
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9220
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9240
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9260
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9280
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb92a0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb92c0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb92e0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9300
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9330
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9350
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9370
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9390
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb93b0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb93d0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb93f0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9410
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9430
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9450
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9470
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9480
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb94a0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb94c0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb94e0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9500
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9520
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9540
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9560
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9580
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb95a0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb95c0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb95e0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9600
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9620
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9640
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9660
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9680
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb96a0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb96c0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb96e0
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9700
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9720
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9740
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9760
 DeviceId (bus:dev.func): 27:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002700, Operand 2: fedb9780
Initializing Jailhouse hypervisor v0.12 (81-g9b4efcf4-dirty) on CPU 12
Code location: 0xfffffffff0000050
Using xAPIC
Page pool usage after early setup: mem 123/978, remap 1/131072
Initializing processors:
 CPU 12... (APIC ID 12) OK
 CPU 1... (APIC ID 1) OK
 CPU 0... (APIC ID 0) OK
 CPU 7... (APIC ID 7) OK
 CPU 6... (APIC ID 6) OK
 CPU 11... (APIC ID 11) OK
 CPU 10... (APIC ID 10) OK
 CPU 8... (APIC ID 8) OK
 CPU 9... (APIC ID 9) OK
 CPU 15... (APIC ID 15) OK
 CPU 14... (APIC ID 14) OK
 CPU 13... (APIC ID 13) OK
 CPU 5... (APIC ID 5) OK
 CPU 2... (APIC ID 2) OK
 CPU 3... (APIC ID 3) OK
 CPU 4... (APIC ID 4) OK
Initializing unit: AMD IOMMU
AMD IOMMU @0xfeb80000/0x80000
Initializing unit: IOAPIC
Initializing unit: Test device
Initializing unit: PCI
Adding PCI device 00:00.0 to cell "RootCell"
Adding PCI device 00:01.0 to cell "RootCell"
Adding PCI device 00:01.3 to cell "RootCell"
Adding PCI device 00:02.0 to cell "RootCell"
Adding PCI device 00:03.0 to cell "RootCell"
Adding PCI device 00:03.1 to cell "RootCell"
Adding PCI device 00:04.0 to cell "RootCell"
Adding PCI device 00:07.0 to cell "RootCell"
Adding PCI device 00:07.1 to cell "RootCell"
Adding PCI device 00:08.0 to cell "RootCell"
Adding PCI device 00:08.1 to cell "RootCell"
Adding PCI device 00:14.0 to cell "RootCell"
Adding PCI device 00:14.3 to cell "RootCell"
Adding PCI device 00:18.0 to cell "RootCell"
Adding PCI device 00:18.1 to cell "RootCell"
Adding PCI device 00:18.2 to cell "RootCell"
Adding PCI device 00:18.3 to cell "RootCell"
Adding PCI device 00:18.4 to cell "RootCell"
Adding PCI device 00:18.5 to cell "RootCell"
Adding PCI device 00:18.6 to cell "RootCell"
Adding PCI device 00:18.7 to cell "RootCell"
Adding PCI device 03:00.0 to cell "RootCell"
Adding PCI device 03:00.1 to cell "RootCell"
Adding PCI device 03:00.2 to cell "RootCell"
Adding PCI device 1d:00.0 to cell "RootCell"
Adding PCI device 1d:04.0 to cell "RootCell"
Adding PCI device 1d:05.0 to cell "RootCell"
Adding PCI device 1d:06.0 to cell "RootCell"
Adding PCI device 1d:07.0 to cell "RootCell"
Adding PCI device 22:00.0 to cell "RootCell"
Adding PCI device 25:00.0 to cell "RootCell"
Adding PCI device 27:00.0 to cell "RootCell"
Adding PCI device 27:00.1 to cell "RootCell"
Adding PCI device 28:00.0 to cell "RootCell"
Adding PCI device 28:00.2 to cell "RootCell"
Adding PCI device 28:00.3 to cell "RootCell"
Adding PCI device 29:00.0 to cell "RootCell"
Adding PCI device 29:00.2 to cell "RootCell"
Adding PCI device 29:00.3 to cell "RootCell"
Page pool usage after late setup: mem 359/978, remap 16517/131072
FATAL: Invalid PIO read, port: 1771 size: 1
RIP: 0xffffffffa30f5f48 RSP: 0xffffa7218013fdd8 FLAGS: 93
RAX: 0x0000000000000000 RBX: 0x0000000000000002 RCX: 0x0000000000000068
RDX: 0x0000000000001771 RSI: 0xffffffffa3d68b80 RDI: 0xffff902989e9a498
CS: 10 BASE: 0x0000000000000000 AR-BYTES: 29b EFER.LMA 1
CR0: 0x0000000080050033 CR3: 0x00000003cc9d8000 CR4: 0x00000000003406e0
EFER: 0x0000000000001d01
Parking CPU 4 (Cell: "RootCell")
Ignoring NMI IPI to CPU 0
Ignoring NMI IPI to CPU 1
Ignoring NMI IPI to CPU 2
Ignoring NMI IPI to CPU 3
Ignoring NMI IPI to CPU 4
Ignoring NMI IPI to CPU 6
Ignoring NMI IPI to CPU 7
Ignoring NMI IPI to CPU 8
Ignoring NMI IPI to CPU 9
Ignoring NMI IPI to CPU 10
Ignoring NMI IPI to CPU 11
Ignoring NMI IPI to CPU 12
Ignoring NMI IPI to CPU 13
Ignoring NMI IPI to CPU 14
Ignoring NMI IPI to CPU 15
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2000000000002803, Operand 2: fedf2880
 DeviceId (bus:dev.func): 28:00.3
Initializing Jailhouse hypervisor v0.12 (81-g9b4efcf4-dirty) on CPU 14
Code location: 0xfffffffff0000050
Using xAPIC
Page pool usage after early setup: mem 123/978, remap 1/131072
Initializing processors:
 CPU 14... (APIC ID 14) OK
 CPU 9... (APIC ID 9) OK
 CPU 12... (APIC ID 12) OK
 CPU 4... (APIC ID 4) OK
 CPU 5... (APIC ID 5) OK
 CPU 1... (APIC ID 1) OK
 CPU 0... (APIC ID 0) OK
 CPU 3... (APIC ID 3) OK
 CPU 2... (APIC ID 2) OK
 CPU 8... (APIC ID 8) OK
 CPU 13... (APIC ID 13) OK
 CPU 7... (APIC ID 7) OK
 CPU 10... (APIC ID 10) OK
 CPU 11... (APIC ID 11) OK
 CPU 15... (APIC ID 15) OK
 CPU 6... (APIC ID 6) OK
Initializing unit: AMD IOMMU
AMD IOMMU @0xfeb80000/0x80000
Initializing unit: IOAPIC
Initializing unit: Test device
Initializing unit: PCI
Adding PCI device 00:00.0 to cell "RootCell"
Adding PCI device 00:01.0 to cell "RootCell"
Adding PCI device 00:01.3 to cell "RootCell"
Adding PCI device 00:02.0 to cell "RootCell"
Adding PCI device 00:03.0 to cell "RootCell"
Adding PCI device 00:03.1 to cell "RootCell"
Adding PCI device 00:04.0 to cell "RootCell"
Adding PCI device 00:07.0 to cell "RootCell"
Adding PCI device 00:07.1 to cell "RootCell"
Adding PCI device 00:08.0 to cell "RootCell"
Adding PCI device 00:08.1 to cell "RootCell"
Adding PCI device 00:14.0 to cell "RootCell"
Adding PCI device 00:14.3 to cell "RootCell"
Adding PCI device 00:18.0 to cell "RootCell"
Adding PCI device 00:18.1 to cell "RootCell"
Adding PCI device 00:18.2 to cell "RootCell"
Adding PCI device 00:18.3 to cell "RootCell"
Adding PCI device 00:18.4 to cell "RootCell"
Adding PCI device 00:18.5 to cell "RootCell"
Adding PCI device 00:18.6 to cell "RootCell"
Adding PCI device 00:18.7 to cell "RootCell"
Adding PCI device 03:00.0 to cell "RootCell"
Adding PCI device 03:00.1 to cell "RootCell"
Adding PCI device 03:00.2 to cell "RootCell"
Adding PCI device 1d:00.0 to cell "RootCell"
Adding PCI device 1d:04.0 to cell "RootCell"
Adding PCI device 1d:05.0 to cell "RootCell"
Adding PCI device 1d:06.0 to cell "RootCell"
Adding PCI device 1d:07.0 to cell "RootCell"
Adding PCI device 22:00.0 to cell "RootCell"
Adding PCI device 25:00.0 to cell "RootCell"
Adding PCI device 27:00.0 to cell "RootCell"
Adding PCI device 27:00.1 to cell "RootCell"
Adding PCI device 28:00.0 to cell "RootCell"
Adding PCI device 28:00.2 to cell "RootCell"
Adding PCI device 28:00.3 to cell "RootCell"
Adding PCI device 29:00.0 to cell "RootCell"
Adding PCI device 29:00.2 to cell "RootCell"
Adding PCI device 29:00.3 to cell "RootCell"
Page pool usage after late setup: mem 359/978, remap 16517/131072
FATAL: Invalid PIO read, port: 1771 size: 1
RIP: 0xffffffff9d8f5f48 RSP: 0xffffb84900127dd8 FLAGS: 93
RAX: 0x0000000000000000 RBX: 0x0000000000000002 RCX: 0x0000000000000068
RDX: 0x0000000000001771 RSI: 0xffffffff9e568b80 RDI: 0xffff898449e90498
CS: 10 BASE: 0x0000000000000000 AR-BYTES: 29b EFER.LMA 1
CR0: 0x0000000080050033 CR3: 0x00000003d7c1e000 CR4: 0x00000000003406e0
EFER: 0x0000000000001d01
Parking CPU 1 (Cell: "RootCell")
Ignoring NMI IPI to CPU 0
Ignoring NMI IPI to CPU 1
Ignoring NMI IPI to CPU 2
Ignoring NMI IPI to CPU 3
Ignoring NMI IPI to CPU 4
Ignoring NMI IPI to CPU 6
Ignoring NMI IPI to CPU 7
Ignoring NMI IPI to CPU 8
Ignoring NMI IPI to CPU 9
Ignoring NMI IPI to CPU 10
Ignoring NMI IPI to CPU 11
Ignoring NMI IPI to CPU 12
Ignoring NMI IPI to CPU 13
Ignoring NMI IPI to CPU 14
Ignoring NMI IPI to CPU 15
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2000000000002500, Operand 2: d8f24f10
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002500, Operand 2: d637c000
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002500, Operand 2: d8f24f00
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2008000000002500, Operand 2: fffffffdf8000000
 DeviceId (bus:dev.func): 25:00.0
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2008000000002803, Operand 2: fffffffdf8000000
 DeviceId (bus:dev.func): 28:00.3
AMD IOMMU 0 reported event
 EventCode: 2, Operand 1: 2020000000002803, Operand 2: fede50c0
 DeviceId (bus:dev.func): 28:00.3
/*
 * 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 System manufacturer System Product Name
 * created with '/usr/local/libexec/jailhouse/jailhouse config create configs/x86/sysconfig.c'
 *
 * NOTE: This config expects the following to be appended to your kernel cmdline
 *       "memmap=0x5200000$0x3b000000"
 */

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

struct {
	struct jailhouse_system header;
	__u64 cpus[1];
	struct jailhouse_memory mem_regions[37];
	struct jailhouse_irqchip irqchips[2];
	struct jailhouse_pio pio_regions[8];
	struct jailhouse_pci_device pci_devices[39];
	struct jailhouse_pci_capability pci_caps[91];
} __attribute__((packed)) config = {
	.header = {
		.signature = JAILHOUSE_SYSTEM_SIGNATURE,
		.revision = JAILHOUSE_CONFIG_REVISION,
		.flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE,
		.hypervisor_memory = {
			.phys_start = 0x3b000000,
			.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 = 0xf8000000,
			.pci_mmconfig_end_bus = 0x3f,
			.iommu_units = {
				{
					.type = JAILHOUSE_IOMMU_AMD,
					.base = 0xfeb80000,
					.size = 0x80000,
					.amd.bdf = 0x2,
					.amd.base_cap = 0x40,
					.amd.msi_cap = 0x64,
					.amd.features = 0x80048f6f,
				},
			},
			.x86 = {
				.pm_timer_address = 0x808,
				.vtd_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),
			.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 = {
		0x000000000000ffff,
	},

	.mem_regions = {
		/* MemRegion: 00000000-0009ffff : System RAM */
		{
			.phys_start = 0x0,
			.virt_start = 0x0,
			.size = 0xa0000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 00100000-09cfffff : System RAM */
		{
			.phys_start = 0x100000,
			.virt_start = 0x100000,
			.size = 0x9c00000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 0a000000-3affffff : System RAM */
		{
			.phys_start = 0xa000000,
			.virt_start = 0xa000000,
			.size = 0x31000000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 40200000-9ff05017 : System RAM */
		{
			.phys_start = 0x40200000,
			.virt_start = 0x40200000,
			.size = 0x5fd06000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 9ff05018-9ff24857 : System RAM */
		{
			.phys_start = 0x9ff05018,
			.virt_start = 0x9ff05018,
			.size = 0x20000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 9ff24858-9ff25017 : System RAM */
		{
			.phys_start = 0x9ff24858,
			.virt_start = 0x9ff24858,
			.size = 0x1000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 9ff25018-9ff33057 : System RAM */
		{
			.phys_start = 0x9ff25018,
			.virt_start = 0x9ff25018,
			.size = 0xf000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 9ff33058-d5745fff : System RAM */
		{
			.phys_start = 0x9ff33058,
			.virt_start = 0x9ff33058,
			.size = 0x35813000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: d5746000-d575dfff : ACPI Tables */
		{
			.phys_start = 0xd5746000,
			.virt_start = 0xd5746000,
			.size = 0x18000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: d57e0000-d8dfbfff : System RAM */
		{
			.phys_start = 0xd57e0000,
			.virt_start = 0xd57e0000,
			.size = 0x361c000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: d8dfd000-dab00fff : System RAM */
		{
			.phys_start = 0xd8dfd000,
			.virt_start = 0xd8dfd000,
			.size = 0x1d04000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: dac79000-dac81fff : ACPI Tables */
		{
			.phys_start = 0xdac79000,
			.virt_start = 0xdac79000,
			.size = 0x9000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: dac82000-dad86fff : System RAM */
		{
			.phys_start = 0xdac82000,
			.virt_start = 0xdac82000,
			.size = 0x105000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: dad87000-db145fff : ACPI Non-volatile Storage */
		{
			.phys_start = 0xdad87000,
			.virt_start = 0xdad87000,
			.size = 0x3bf000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: dbe9e000-ddffffff : System RAM */
		{
			.phys_start = 0xdbe9e000,
			.virt_start = 0xdbe9e000,
			.size = 0x2162000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: e0000000-efffffff : 0000:27:00.0 */
		{
			.phys_start = 0xe0000000,
			.virt_start = 0xe0000000,
			.size = 0x10000000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f1000000-f12fffff : efifb */
		{
			.phys_start = 0xf1000000,
			.virt_start = 0xf1000000,
			.size = 0x300000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f6000000-f6ffffff : nvidia */
		{
			.phys_start = 0xf6000000,
			.virt_start = 0xf6000000,
			.size = 0x1000000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7080000-f7083fff : ICH HD audio */
		{
			.phys_start = 0xf7080000,
			.virt_start = 0xf7080000,
			.size = 0x4000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7200000-f72fffff : xhci-hcd */
		{
			.phys_start = 0xf7200000,
			.virt_start = 0xf7200000,
			.size = 0x100000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7300000-f73fffff : ccp */
		{
			.phys_start = 0xf7300000,
			.virt_start = 0xf7300000,
			.size = 0x100000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7401000-f7401fff : ccp */
		{
			.phys_start = 0xf7401000,
			.virt_start = 0xf7401000,
			.size = 0x1000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7501000-f7503fff : 0000:25:00.0 */
		{
			.phys_start = 0xf7501000,
			.virt_start = 0xf7501000,
			.size = 0x3000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7504000-f7504fff : r8169 */
		{
			.phys_start = 0xf7504000,
			.virt_start = 0xf7504000,
			.size = 0x1000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7600000-f7607fff : xhci-hcd */
		{
			.phys_start = 0xf7600000,
			.virt_start = 0xf7600000,
			.size = 0x8000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7700000-f777ffff : 0000:03:00.1 */
		{
			.phys_start = 0xf7700000,
			.virt_start = 0xf7700000,
			.size = 0x80000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7780000-f779ffff : ahci */
		{
			.phys_start = 0xf7780000,
			.virt_start = 0xf7780000,
			.size = 0x20000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f77a0000-f77a7fff : xhci-hcd */
		{
			.phys_start = 0xf77a0000,
			.virt_start = 0xf77a0000,
			.size = 0x8000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7800000-f7807fff : ICH HD audio */
		{
			.phys_start = 0xf7800000,
			.virt_start = 0xf7800000,
			.size = 0x8000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: f7808000-f7808fff : ahci */
		{
			.phys_start = 0xf7808000,
			.virt_start = 0xf7808000,
			.size = 0x1000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: fed00000-fed003ff : HPET 0 */
		{
			.phys_start = 0xfed00000,
			.virt_start = 0xfed00000,
			.size = 0x1000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: fedc0000-fedc0fff : pnp 00:05 */
		{
			.phys_start = 0xfedc0000,
			.virt_start = 0xfedc0000,
			.size = 0x1000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
		/* MemRegion: 100000000-23f1fffff : System RAM */
		{
			.phys_start = 0x100000000,
			.virt_start = 0x100000000,
			.size = 0x13f200000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 23f200000-241ffffff : Kernel */
		{
			.phys_start = 0x23f200000,
			.virt_start = 0x23f200000,
			.size = 0x2e00000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 242000000-41f37ffff : System RAM */
		{
			.phys_start = 0x242000000,
			.virt_start = 0x242000000,
			.size = 0x1dd380000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 41f380000-41fffffff : RAM buffer */
		{
			.phys_start = 0x41f380000,
			.virt_start = 0x41f380000,
			.size = 0xc80000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
				JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
		},
		/* MemRegion: 3b600000-401fffff : JAILHOUSE Inmate Memory */
		{
			.phys_start = 0x3b600000,
			.virt_start = 0x3b600000,
			.size = 0x4c00000,
			.flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
		},
	},

	.irqchips = {
		/* IOAPIC 17, GSI base 0 */
		{
			.address = 0xfec00000,
			.id = 0xa0,
			.pin_bitmap = {
				0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
			},
		},
		/* IOAPIC 18, GSI base 24 */
		{
			.address = 0xfec01000,
			.id = 0x1,
			.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),
		/* Port I/O: 0061-0061 : PNP0800:00 */
		PIO_RANGE(0x61, 0x1),
		/* Port I/O: 0064-0064 : keyboard */
		PIO_RANGE(0x64, 0x1),
		/* Port I/O: 0070-0071 : rtc0 */
		PIO_RANGE(0x70, 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-00ff : fpu */
		/* PIO_RANGE(0xf0, 0x10), */
		/* Port I/O: 0230-023f : pnp 00:03 */
		/* PIO_RANGE(0x230, 0x10), */
		/* Port I/O: 0290-029f : pnp 00:03 */
		/* PIO_RANGE(0x290, 0x10), */
		/* Port I/O: 0300-030f : pnp 00:03 */
		/* PIO_RANGE(0x300, 0x10), */
		/* Port I/O: 03b0-03df : PCI Bus 0000:00 */
		/* PIO_RANGE(0x3b0, 0x30), */
		/* Port I/O: 03f8-03ff : serial */
		PIO_RANGE(0x3f8, 0x8),
		/* Port I/O: 040b-040b : pnp 00:05 */
		/* PIO_RANGE(0x40b, 0x1), */
		/* Port I/O: 04d0-04d1 : pnp 00:05 */
		/* PIO_RANGE(0x4d0, 0x2), */
		/* Port I/O: 04d6-04d6 : pnp 00:05 */
		/* PIO_RANGE(0x4d6, 0x1), */
		/* Port I/O: 0800-0803 : ACPI PM1a_EVT_BLK */
		/* PIO_RANGE(0x800, 0x4), */
		/* Port I/O: 0804-0805 : ACPI PM1a_CNT_BLK */
		/* PIO_RANGE(0x804, 0x2), */
		/* Port I/O: 0808-080b : ACPI PM_TMR */
		/* PIO_RANGE(0x808, 0x4), */
		/* Port I/O: 0810-0815 : ACPI CPU throttle */
		/* PIO_RANGE(0x810, 0x6), */
		/* Port I/O: 0820-0827 : ACPI GPE0_BLK */
		/* PIO_RANGE(0x820, 0x8), */
		/* Port I/O: 0900-090f : pnp 00:05 */
		/* PIO_RANGE(0x900, 0x10), */
		/* Port I/O: 0910-091f : pnp 00:05 */
		/* PIO_RANGE(0x910, 0x10), */
		/* Port I/O: 0b00-0b08 : piix4_smbus */
		/* PIO_RANGE(0xb00, 0x9), */
		/* Port I/O: 0b20-0b3f : pnp 00:05 */
		/* PIO_RANGE(0xb20, 0x20), */
		/* Port I/O: 0c00-0c01 : pnp 00:05 */
		/* PIO_RANGE(0xc00, 0x2), */
		/* Port I/O: 0c14-0c14 : pnp 00:05 */
		/* PIO_RANGE(0xc14, 0x1), */
		/* Port I/O: 0c50-0c51 : pnp 00:05 */
		/* PIO_RANGE(0xc50, 0x2), */
		/* Port I/O: 0c52-0c52 : pnp 00:05 */
		/* PIO_RANGE(0xc52, 0x1), */
		/* Port I/O: 0c6c-0c6c : pnp 00:05 */
		/* PIO_RANGE(0xc6c, 0x1), */
		/* Port I/O: 0c6f-0c6f : pnp 00:05 */
		/* PIO_RANGE(0xc6f, 0x1), */
		/* Port I/O: 0cd0-0cd1 : pnp 00:05 */
		/* PIO_RANGE(0xcd0, 0x2), */
		/* Port I/O: 0cd2-0cd3 : pnp 00:05 */
		/* PIO_RANGE(0xcd2, 0x2), */
		/* Port I/O: 0cd4-0cd5 : pnp 00:05 */
		/* PIO_RANGE(0xcd4, 0x2), */
		/* Port I/O: 0cd6-0cd7 : pnp 00:05 */
		/* PIO_RANGE(0xcd6, 0x2), */
		/* Port I/O: 0cd8-0cdf : pnp 00:05 */
		/* PIO_RANGE(0xcd8, 0x8), */
		/* Port I/O: e000-e07f : 0000:27:00.0 */
		PIO_RANGE(0xe000, 0x80),
		/* Port I/O: f000-f0ff : 0000:25:00.0 */
		PIO_RANGE(0xf000, 0x100),
	},

	.pci_devices = {
		/* PCIDevice: 00:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.domain = 0x0,
			.bdf = 0x0,
			.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:01.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x8,
			.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:01.3 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xb,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 0,
			.num_caps = 11,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.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 = {
				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:03.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x18,
			.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:03.1 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x19,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 0,
			.num_caps = 11,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 00:04.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x20,
			.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:07.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x38,
			.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:07.1 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x39,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 11,
			.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: 00:08.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x40,
			.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:08.1 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x41,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 11,
			.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: 00:14.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xa0,
			.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:14.3 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xa3,
			.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:18.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc0,
			.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:18.1 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc1,
			.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:18.2 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc2,
			.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:18.3 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc3,
			.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:18.4 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc4,
			.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:18.5 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc5,
			.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:18.6 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc6,
			.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:18.7 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0xc7,
			.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: 03:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x300,
			.bar_mask = {
				0xffff8000, 0xffffffff, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 18,
			.num_caps = 7,
			.num_msi_vectors = 8,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 03:00.1 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x301,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0xfffe0000,
			},
			.caps_start = 25,
			.num_caps = 4,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 03:00.2 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x302,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 29,
			.num_caps = 5,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 1d:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x1d00,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 34,
			.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: 1d:04.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x1d20,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 34,
			.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: 1d:05.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x1d28,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 34,
			.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: 1d:06.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x1d30,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 34,
			.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: 1d:07.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_BRIDGE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x1d38,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 34,
			.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: 22:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2200,
			.bar_mask = {
				0xffff8000, 0xffffffff, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 41,
			.num_caps = 7,
			.num_msi_vectors = 8,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 25:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2500,
			.bar_mask = {
				0xffffff00, 0x00000000, 0xfffff000,
				0xffffffff, 0xffffc000, 0xffffffff,
			},
			.caps_start = 48,
			.num_caps = 9,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 4,
			.msix_region_size = 0x1000,
			.msix_address = 0xf7500000,
		},
		/* PCIDevice: 27:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2700,
			.bar_mask = {
				0xff000000, 0xf0000000, 0xffffffff,
				0xfe000000, 0xffffffff, 0xffffff80,
			},
			.caps_start = 57,
			.num_caps = 8,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 27:00.1 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2701,
			.bar_mask = {
				0xffffc000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 65,
			.num_caps = 4,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 28:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2800,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 69,
			.num_caps = 5,
			.num_msi_vectors = 0,
			.msi_64bits = 0,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 28:00.2 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2802,
			.bar_mask = {
				0x00000000, 0x00000000, 0xfff00000,
				0x00000000, 0x00000000, 0xffffe000,
			},
			.caps_start = 74,
			.num_caps = 6,
			.num_msi_vectors = 2,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 2,
			.msix_region_size = 0x1000,
			.msix_address = 0xf7400000,
		},
		/* PCIDevice: 28:00.3 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2803,
			.bar_mask = {
				0xfff00000, 0xffffffff, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 80,
			.num_caps = 5,
			.num_msi_vectors = 8,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 29:00.0 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2900,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 69,
			.num_caps = 5,
			.num_msi_vectors = 0,
			.msi_64bits = 0,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 29:00.2 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2902,
			.bar_mask = {
				0x00000000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0xfffff000,
			},
			.caps_start = 85,
			.num_caps = 6,
			.num_msi_vectors = 16,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
		/* PCIDevice: 29:00.3 */
		{
			.type = JAILHOUSE_PCI_TYPE_DEVICE,
			.iommu = 0,
			.domain = 0x0,
			.bdf = 0x2903,
			.bar_mask = {
				0xffff8000, 0x00000000, 0x00000000,
				0x00000000, 0x00000000, 0x00000000,
			},
			.caps_start = 80,
			.num_caps = 5,
			.num_msi_vectors = 1,
			.msi_64bits = 1,
			.msi_maskable = 0,
			.num_msix_vectors = 0,
			.msix_region_size = 0x0,
			.msix_address = 0x0,
		},
	},

	.pci_caps = {
		/* PCIDevice: 00:01.3 */
		/* PCIDevice: 00:03.1 */
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x50,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x58,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0xa0,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_SSVID,
			.start = 0xc0,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_HT,
			.start = 0xc8,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_VNDR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x14,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x150,
			.len = 0x40,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x270,
			.len = 0x10,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_ACS | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x2a0,
			.len = 0x8,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x370,
			.len = 0x4,
			.flags = 0,
		},
		{
			.id = 0x23 | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x3c4,
			.len = 0x4,
			.flags = 0,
		},
		/* PCIDevice: 00:07.1 */
		/* PCIDevice: 00:08.1 */
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x50,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x58,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0xa0,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_SSVID,
			.start = 0xc0,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_HT,
			.start = 0xc8,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_VNDR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x14,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x270,
			.len = 0x10,
			.flags = 0,
		},
		/* PCIDevice: 03:00.0 */
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0x50,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x78,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x80,
			.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_SECPCI | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x200,
			.len = 0x10,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_LTR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x300,
			.len = 0x8,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x400,
			.len = 0x4,
			.flags = 0,
		},
		/* PCIDevice: 03:00.1 */
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0x50,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x78,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x80,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x40,
			.flags = 0,
		},
		/* PCIDevice: 03:00.2 */
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0x50,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x78,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x80,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_SSVID,
			.start = 0xc0,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x40,
			.flags = 0,
		},
		/* PCIDevice: 1d:00.0 */
		/* PCIDevice: 1d:04.0 */
		/* PCIDevice: 1d:05.0 */
		/* PCIDevice: 1d:06.0 */
		/* PCIDevice: 1d:07.0 */
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0x50,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x78,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x80,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_SSVID,
			.start = 0xc0,
			.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_SECPCI | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x200,
			.len = 0x10,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_L1SS | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x400,
			.len = 0x4,
			.flags = 0,
		},
		/* PCIDevice: 22:00.0 */
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0x50,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x78,
			.len = 0x8,
			.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_SECPCI | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x280,
			.len = 0x10,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_LTR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x300,
			.len = 0x8,
			.flags = 0,
		},
		/* PCIDevice: 25: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_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: 27: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_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: 27:00.1 */
		{
			.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_ERR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x40,
			.flags = 0,
		},
		/* PCIDevice: 28:00.0 */
		/* PCIDevice: 29:00.0 */
		{
			.id = PCI_CAP_ID_VNDR,
			.start = 0x48,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x50,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x64,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_VNDR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x14,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_SECPCI | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x270,
			.len = 0x10,
			.flags = 0,
		},
		/* PCIDevice: 28:00.2 */
		{
			.id = PCI_CAP_ID_VNDR,
			.start = 0x48,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x50,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x64,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0xa0,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_MSIX,
			.start = 0xc0,
			.len = 0xc,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_EXT_CAP_ID_VNDR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x14,
			.flags = 0,
		},
		/* PCIDevice: 28:00.3 */
		/* PCIDevice: 29:00.3 */
		{
			.id = PCI_CAP_ID_VNDR,
			.start = 0x48,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x50,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x64,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0xa0,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_EXT_CAP_ID_VNDR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x14,
			.flags = 0,
		},
		/* PCIDevice: 29:00.2 */
		{
			.id = PCI_CAP_ID_VNDR,
			.start = 0x48,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_PM,
			.start = 0x50,
			.len = 0x8,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_EXP,
			.start = 0x64,
			.len = 0x3c,
			.flags = 0,
		},
		{
			.id = PCI_CAP_ID_MSI,
			.start = 0xa0,
			.len = 0xe,
			.flags = JAILHOUSE_PCICAPS_WRITE,
		},
		{
			.id = PCI_CAP_ID_SATA,
			.start = 0xd0,
			.len = 0x2,
			.flags = 0,
		},
		{
			.id = PCI_EXT_CAP_ID_VNDR | JAILHOUSE_PCI_EXT_CAP,
			.start = 0x100,
			.len = 0x14,
			.flags = 0,
		},
	},
};

Reply via email to