2 * Jailhouse, a Linux-based partitioning hypervisor
4 * Copyright (c) Siemens AG, 2014, 2015
6 * This work is licensed under the terms of the GNU GPL, version 2. See
7 * the COPYING file in the top-level directory.
9 * Alternatively, you can use or redistribute this file under the following
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
16 * 1. Redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
33 * THE POSSIBILITY OF SUCH DAMAGE.
35 * Configuration for Dell Inc. OptiPlex 7010
36 * created with '/usr/local/libexec/jailhouse/jailhouse config create -r . novabox.c'
38 * NOTE: This config expects the following to be appended to your kernel cmdline
39 * "memmap=0x7c00000$0x37600000"
42 #include <linux/types.h>
43 #include <jailhouse/cell-config.h>
45 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
48 struct jailhouse_system header;
50 struct jailhouse_memory mem_regions[47];
51 struct jailhouse_irqchip irqchips[1];
52 __u8 pio_bitmap[0x2000];
53 struct jailhouse_pci_device pci_devices[16];
54 struct jailhouse_pci_capability pci_caps[29];
55 } __attribute__((packed)) config = {
57 .signature = JAILHOUSE_SYSTEM_SIGNATURE,
58 .hypervisor_memory = {
59 .phys_start = 0x37600000,
65 .platform_info.x86 = {
66 .mmconfig_base = 0xf8000000,
67 .mmconfig_end_bus = 0x3f,
68 .pm_timer_address = 0x408,
80 .interrupt_limit = 256,
83 .cpu_set_size = sizeof(config.cpus),
84 .num_memory_regions = ARRAY_SIZE(config.mem_regions),
85 .num_irqchips = ARRAY_SIZE(config.irqchips),
86 .pio_bitmap_size = ARRAY_SIZE(config.pio_bitmap),
87 .num_pci_devices = ARRAY_SIZE(config.pci_devices),
88 .num_pci_caps = ARRAY_SIZE(config.pci_caps),
97 /* MemRegion: 00000000-0009d7ff : System RAM */
102 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
103 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
105 /* MemRegion: 000a0000-000bffff : PCI Bus 0000:00 */
107 .phys_start = 0xa0000,
108 .virt_start = 0xa0000,
110 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
112 /* MemRegion: 00100000-00ffffff : System RAM */
114 .phys_start = 0x100000,
115 .virt_start = 0x100000,
117 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
118 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
120 /* MemRegion: 01000000-02ffffff : Kernel */
122 .phys_start = 0x1000000,
123 .virt_start = 0x1000000,
125 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
126 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
128 /* MemRegion: 03000000-1fffffff : System RAM */
130 .phys_start = 0x3000000,
131 .virt_start = 0x3000000,
133 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
134 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
136 /* MemRegion: 20200000-375fffff : System RAM */
138 .phys_start = 0x20200000,
139 .virt_start = 0x20200000,
141 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
142 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
144 /* MemRegion: 3f200000-40003fff : System RAM */
146 .phys_start = 0x3f200000,
147 .virt_start = 0x3f200000,
149 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
150 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
152 /* MemRegion: 40005000-d9b4dfff : System RAM */
154 .phys_start = 0x40005000,
155 .virt_start = 0x40005000,
157 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
158 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
162 .phys_start = 0xd9b4e000,
163 .virt_start = 0xd9b4e000,
165 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
166 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
169 .phys_start = 0xda113000,
170 .virt_start = 0xda113000,
172 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
173 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
176 /* MemRegion: da174000-da3dbfff : ACPI Non-volatile Storage */
178 .phys_start = 0xda174000,
179 .virt_start = 0xda174000,
181 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
183 /* MemRegion: da3dc000-da3e6fff : ACPI Tables */
185 .phys_start = 0xda3dc000,
186 .virt_start = 0xda3dc000,
188 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
190 /* MemRegion: da3e7000-da3f3fff : ACPI Non-volatile Storage */
192 .phys_start = 0xda3e7000,
193 .virt_start = 0xda3e7000,
195 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
197 /* MemRegion: da3f4000-da3f8fff : ACPI Tables */
199 .phys_start = 0xda3f4000,
200 .virt_start = 0xda3f4000,
202 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
204 /* MemRegion: da3f9000-da43bfff : ACPI Non-volatile Storage */
206 .phys_start = 0xda3f9000,
207 .virt_start = 0xda3f9000,
209 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
211 /* MemRegion: da43c000-daffffff : System RAM */
213 .phys_start = 0xda43c000,
214 .virt_start = 0xda43c000,
216 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
217 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
219 /* MemRegion: db000000-db7fffff : RAM buffer */
221 .phys_start = 0xdb000000,
222 .virt_start = 0xdb000000,
224 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
225 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
227 /* MemRegion: dfa00000-dfa00fff : pnp 00:08 */
229 .phys_start = 0xdfa00000,
230 .virt_start = 0xdfa00000,
232 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
234 /* MemRegion: e0000000-efffffff : 0000:00:02.0 */
236 .phys_start = 0xe0000000,
237 .virt_start = 0xe0000000,
239 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
241 /* MemRegion: f7800000-f7bfffff : 0000:00:02.0 */
243 .phys_start = 0xf7800000,
244 .virt_start = 0xf7800000,
246 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
248 /* MemRegion: f7c00000-f7c00fff : 0000:02:00.1 */
250 .phys_start = 0xf7c00000,
251 .virt_start = 0xf7c00000,
253 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
255 /* MemRegion: f7c01000-f7c01fff : 0000:02:00.1 */
257 .phys_start = 0xf7c01000,
258 .virt_start = 0xf7c01000,
260 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
262 /* MemRegion: f7c02000-f7c02fff : 0000:02:00.0 */
264 .phys_start = 0xf7c02000,
265 .virt_start = 0xf7c02000,
267 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
269 /* MemRegion: f7c03000-f7c03fff : 0000:02:00.0 */
271 .phys_start = 0xf7c03000,
272 .virt_start = 0xf7c03000,
274 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
276 /* MemRegion: f7d00000-f7d1ffff : 0000:00:19.0 */
278 .phys_start = 0xf7d00000,
279 .virt_start = 0xf7d00000,
281 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
283 /* MemRegion: f7d20000-f7d2ffff : 0000:00:14.0 */
285 .phys_start = 0xf7d20000,
286 .virt_start = 0xf7d20000,
288 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
290 /* MemRegion: f7d30000-f7d33fff : 0000:00:1b.0 */
292 .phys_start = 0xf7d30000,
293 .virt_start = 0xf7d30000,
295 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
297 /* MemRegion: f7d35000-f7d350ff : 0000:00:1f.3 */
299 .phys_start = 0xf7d35000,
300 .virt_start = 0xf7d35000,
302 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
304 /* MemRegion: f7d36000-f7d367ff : ahci */
306 .phys_start = 0xf7d36000,
307 .virt_start = 0xf7d36000,
309 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
311 /* MemRegion: f7d37000-f7d373ff : ehci_hcd */
313 .phys_start = 0xf7d37000,
314 .virt_start = 0xf7d37000,
316 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
318 /* MemRegion: f7d38000-f7d383ff : ehci_hcd */
320 .phys_start = 0xf7d38000,
321 .virt_start = 0xf7d38000,
323 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
325 /* MemRegion: f7d39000-f7d39fff : 0000:00:19.0 */
327 .phys_start = 0xf7d39000,
328 .virt_start = 0xf7d39000,
330 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
332 /* MemRegion: f7d3c000-f7d3c00f : 0000:00:16.0 */
334 .phys_start = 0xf7d3c000,
335 .virt_start = 0xf7d3c000,
337 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
339 /* MemRegion: fed00000-fed003ff : HPET 0 */
341 .phys_start = 0xfed00000,
342 .virt_start = 0xfed00000,
344 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
346 /* MemRegion: fed10000-fed17fff : pnp 00:08 */
348 .phys_start = 0xfed10000,
349 .virt_start = 0xfed10000,
351 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
353 /* MemRegion: fed18000-fed18fff : pnp 00:08 */
355 .phys_start = 0xfed18000,
356 .virt_start = 0xfed18000,
358 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
360 /* MemRegion: fed19000-fed19fff : pnp 00:08 */
362 .phys_start = 0xfed19000,
363 .virt_start = 0xfed19000,
365 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
367 /* MemRegion: fed20000-fed3ffff : pnp 00:08 */
369 .phys_start = 0xfed20000,
370 .virt_start = 0xfed20000,
372 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
374 /* MemRegion: fed40000-fed44fff : pnp 00:00 */
376 .phys_start = 0xfed40000,
377 .virt_start = 0xfed40000,
379 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
381 /* MemRegion: fed45000-fed8ffff : pnp 00:08 */
383 .phys_start = 0xfed45000,
384 .virt_start = 0xfed45000,
386 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
388 /* MemRegion: fed90000-fed93fff : pnp 00:08 */
390 .phys_start = 0xfed90000,
391 .virt_start = 0xfed90000,
393 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
395 /* MemRegion: 100000000-11e5fffff : System RAM */
397 .phys_start = 0x100000000,
398 .virt_start = 0x100000000,
400 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
401 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
403 /* MemRegion: 11e600000-11fffffff : RAM buffer */
405 .phys_start = 0x11e600000,
406 .virt_start = 0x11e600000,
408 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
409 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
411 /* MemRegion: 000c0000-000dffff : ROMs */
413 .phys_start = 0xc0000,
414 .virt_start = 0xc0000,
416 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
418 /* MemRegion: da0ed000-da112fff : ACPI DMAR RMRR */
419 /* PCI device: 00:1d.0 */
420 /* PCI device: 00:1a.0 */
421 /* PCI device: 00:14.0 */
423 .phys_start = 0xda0ed000,
424 .virt_start = 0xda0ed000,
426 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
427 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
429 /* MemRegion: db800000-df9fffff : ACPI DMAR RMRR */
430 /* PCI device: 00:02.0 */
432 .phys_start = 0xdb800000,
433 .virt_start = 0xdb800000,
435 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
436 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
438 /* MemRegion: 3f000000-3f1fffff : JAILHOUSE Inmate Memory */
440 .phys_start = 0x3b600000,
441 .virt_start = 0x3b600000,
443 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
444 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
449 /* IOAPIC 2, GSI base 0 */
451 .address = 0xfec00000,
460 [ 0/8 ... 0x3f/8] = -1,
461 [ 0x40/8 ... 0x47/8] = 0xf0, /* PIT */
462 [ 0x48/8 ... 0x5f/8] = -1,
463 [ 0x60/8 ... 0x67/8] = 0xec, /* HACK: NMI status/control */
464 [ 0x68/8 ... 0x6f/8] = -1,
465 [ 0x70/8 ... 0x77/8] = 0xfc, /* RTC */
466 [ 0x78/8 ... 0x7f/8] = -1,
467 [ 0x80/8 ... 0x87/8] = 0xfe, /* Linux: native_io_delay() */
468 [ 0x88/8 ... 0xe7/8] = -1,
469 [ 0xe8/8 ... 0xef/8] = 0xdf, /*port 0xed delay experimental*/
470 [ 0xf0/8 ... 0x2f7/8] = -1,
471 [ 0x2f8/8 ... 0x2ff/8] = 0,/*serial 1*/
472 [ 0x300/8 ... 0x3af/8] = -1,
473 [ 0x3b0/8 ... 0x3df/8] = 0x00, /* VGA */
474 [ 0x3e0/8 ... 0x3f7/8] = -1,
475 [ 0x3f8/8 ... 0x3ff/8] = -1,/*serial 0*/
476 [ 0x400/8 ... 0xcff/8] = -1,
477 [ 0xd00/8 ... 0xffff/8] = 0, /* HACK: full PCI */
481 /* PCIDevice: 00:00.0 */
483 .type = JAILHOUSE_PCI_TYPE_DEVICE,
488 0x00000000, 0x00000000, 0x00000000,
489 0x00000000, 0x00000000, 0x00000000,
493 .num_msi_vectors = 0,
495 .num_msix_vectors = 0,
496 .msix_region_size = 0x0,
499 /* PCIDevice: 00:02.0 */
501 .type = JAILHOUSE_PCI_TYPE_DEVICE,
506 0xffc00000, 0xffffffff, 0x00000000,
507 0xf0000000, 0xffffffff, 0x00000000,
511 .num_msi_vectors = 1,
513 .num_msix_vectors = 0,
514 .msix_region_size = 0x0,
517 /* PCIDevice: 00:14.0 */
519 .type = JAILHOUSE_PCI_TYPE_DEVICE,
524 0xffff0000, 0xffffffff, 0x00000000,
525 0x00000000, 0x00000000, 0x00000000,
529 .num_msi_vectors = 8,
531 .num_msix_vectors = 0,
532 .msix_region_size = 0x0,
535 /* PCIDevice: 00:16.0 */
537 .type = JAILHOUSE_PCI_TYPE_DEVICE,
542 0xfffffff0, 0xffffffff, 0x00000000,
543 0x00000000, 0x00000000, 0x00000000,
547 .num_msi_vectors = 1,
549 .num_msix_vectors = 0,
550 .msix_region_size = 0x0,
553 /* PCIDevice: 00:19.0 */
555 .type = JAILHOUSE_PCI_TYPE_DEVICE,
560 0xfffe0000, 0xfffff000, 0xffffffe0,
561 0x00000000, 0x00000000, 0x00000000,
565 .num_msi_vectors = 1,
567 .num_msix_vectors = 0,
568 .msix_region_size = 0x0,
571 /* PCIDevice: 00:1a.0 */
573 .type = JAILHOUSE_PCI_TYPE_DEVICE,
578 0xfffffc00, 0x00000000, 0x00000000,
579 0x00000000, 0x00000000, 0x00000000,
583 .num_msi_vectors = 0,
585 .num_msix_vectors = 0,
586 .msix_region_size = 0x0,
589 /* PCIDevice: 00:1b.0 */
591 .type = JAILHOUSE_PCI_TYPE_DEVICE,
596 0xffffc000, 0xffffffff, 0x00000000,
597 0x00000000, 0x00000000, 0x00000000,
601 .num_msi_vectors = 1,
603 .num_msix_vectors = 0,
604 .msix_region_size = 0x0,
607 /* PCIDevice: 00:1c.0 */
609 .type = JAILHOUSE_PCI_TYPE_BRIDGE,
614 0x00000000, 0x00000000, 0x00000000,
615 0x00000000, 0x00000000, 0x00000000,
619 .num_msi_vectors = 1,
621 .num_msix_vectors = 0,
622 .msix_region_size = 0x0,
625 /* PCIDevice: 00:1c.2 */
627 .type = JAILHOUSE_PCI_TYPE_BRIDGE,
632 0x00000000, 0x00000000, 0x00000000,
633 0x00000000, 0x00000000, 0x00000000,
637 .num_msi_vectors = 1,
639 .num_msix_vectors = 0,
640 .msix_region_size = 0x0,
643 /* PCIDevice: 00:1d.0 */
645 .type = JAILHOUSE_PCI_TYPE_DEVICE,
650 0xfffffc00, 0x00000000, 0x00000000,
651 0x00000000, 0x00000000, 0x00000000,
655 .num_msi_vectors = 0,
657 .num_msix_vectors = 0,
658 .msix_region_size = 0x0,
661 /* PCIDevice: 00:1e.0 */
663 .type = JAILHOUSE_PCI_TYPE_BRIDGE,
668 0x00000000, 0x00000000, 0x00000000,
669 0x00000000, 0x00000000, 0x00000000,
673 .num_msi_vectors = 0,
675 .num_msix_vectors = 0,
676 .msix_region_size = 0x0,
679 /* PCIDevice: 00:1f.0 */
681 .type = JAILHOUSE_PCI_TYPE_DEVICE,
686 0x00000000, 0x00000000, 0x00000000,
687 0x00000000, 0x00000000, 0x00000000,
691 .num_msi_vectors = 0,
693 .num_msix_vectors = 0,
694 .msix_region_size = 0x0,
697 /* PCIDevice: 00:1f.2 */
699 .type = JAILHOUSE_PCI_TYPE_DEVICE,
704 0xfffffff8, 0xfffffffc, 0xfffffff8,
705 0xfffffffc, 0xffffffe0, 0xfffff800,
709 .num_msi_vectors = 1,
711 .num_msix_vectors = 0,
712 .msix_region_size = 0x0,
715 /* PCIDevice: 00:1f.3 */
717 .type = JAILHOUSE_PCI_TYPE_DEVICE,
722 0xffffff00, 0xffffffff, 0x00000000,
723 0x00000000, 0x00000000, 0xffffffe0,
727 .num_msi_vectors = 0,
729 .num_msix_vectors = 0,
730 .msix_region_size = 0x0,
733 /* PCIDevice: 02:00.0 */
735 .type = JAILHOUSE_PCI_TYPE_DEVICE,
740 0xfffffff8, 0xfffff000, 0x00000000,
741 0x00000000, 0x00000000, 0xfffff000,
745 .num_msi_vectors = 8,
747 .num_msix_vectors = 0,
748 .msix_region_size = 0x0,
751 /* PCIDevice: 02:00.1 */
753 .type = JAILHOUSE_PCI_TYPE_DEVICE,
758 0xfffffff8, 0xfffff000, 0x00000000,
759 0x00000000, 0x00000000, 0xfffff000,
763 .num_msi_vectors = 8,
765 .num_msix_vectors = 0,
766 .msix_region_size = 0x0,
772 /* PCIDevice: 00:00.0 */
773 /* PCIDevice: 00:1f.0 */
780 /* PCIDevice: 00:02.0 */
785 .flags = JAILHOUSE_PCICAPS_WRITE,
791 .flags = JAILHOUSE_PCICAPS_WRITE,
799 /* PCIDevice: 00:14.0 */
804 .flags = JAILHOUSE_PCICAPS_WRITE,
810 .flags = JAILHOUSE_PCICAPS_WRITE,
812 /* PCIDevice: 00:16.0 */
817 .flags = JAILHOUSE_PCICAPS_WRITE,
823 .flags = JAILHOUSE_PCICAPS_WRITE,
825 /* PCIDevice: 00:19.0 */
830 .flags = JAILHOUSE_PCICAPS_WRITE,
836 .flags = JAILHOUSE_PCICAPS_WRITE,
844 /* PCIDevice: 00:1a.0 */
845 /* PCIDevice: 00:1d.0 */
850 .flags = JAILHOUSE_PCICAPS_WRITE,
864 /* PCIDevice: 00:1b.0 */
869 .flags = JAILHOUSE_PCICAPS_WRITE,
875 .flags = JAILHOUSE_PCICAPS_WRITE,
883 /* PCIDevice: 00:1c.0 */
884 /* PCIDevice: 00:1c.2 */
895 .flags = JAILHOUSE_PCICAPS_WRITE,
907 .flags = JAILHOUSE_PCICAPS_WRITE,
909 /* PCIDevice: 00:1e.0 */
916 /* PCIDevice: 00:1f.2 */
921 .flags = JAILHOUSE_PCICAPS_WRITE,
927 .flags = JAILHOUSE_PCICAPS_WRITE,
941 /* PCIDevice: 02:00.0 */
942 /* PCIDevice: 02:00.1 */
947 .flags = JAILHOUSE_PCICAPS_WRITE,
953 .flags = JAILHOUSE_PCICAPS_WRITE,