]> rtime.felk.cvut.cz Git - jailhouse.git/blob - configs/f2a88xm-hd3.c
configs: Remove obsolete chromebook config
[jailhouse.git] / configs / f2a88xm-hd3.c
1 /*
2  * Jailhouse, a Linux-based partitioning hypervisor
3  *
4  * Copyright (c) Siemens AG, 2014
5  * Copyright (c) Valentine Sinitsyn, 2014
6  *
7  * This work is licensed under the terms of the GNU GPL, version 2.  See
8  * the COPYING file in the top-level directory.
9  *
10  * Configuration for Gigabyte Technology Co., Ltd. GA-F2A88XM-HD3 Rev. 3.0
11  * board with AMD A10-7800 APU and 1G RAM.
12  *
13  * Created with 'jailhouse config create f2a88xm-hd3.c' and adjusted
14  * by Valentine Sinitsyn <valentine.sinitsyn@gmail.com>.
15  *
16  * NOTE: This config expects the following to be appended to your kernel cmdline
17  *       "memmap=0x4200000$0x3b000000"
18  */
19
20 #include <linux/types.h>
21 #include <jailhouse/cell-config.h>
22
23 #define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
24
25 struct {
26         struct jailhouse_system header;
27         __u64 cpus[1];
28         struct jailhouse_memory mem_regions[33];
29         struct jailhouse_irqchip irqchips[1];
30         __u8 pio_bitmap[0x2000];
31         struct jailhouse_pci_device pci_devices[24];
32         struct jailhouse_pci_capability pci_caps[26];
33 } __attribute__((packed)) config = {
34         .header = {
35                 .hypervisor_memory = {
36                         .phys_start = 0x3b000000,
37                         .size = 0x4000000,
38                 },
39                 .platform_info.x86 = {
40                         .mmconfig_base = 0xe0000000,
41                         .mmconfig_end_bus = 0xff,
42                         .pm_timer_address = 0x808,
43                         .pm_timer_val_ext = 1
44                 },
45                 .root_cell = {
46                         .name = "F2A88XM-HD3",
47                         .cpu_set_size = sizeof(config.cpus),
48                         .num_memory_regions = ARRAY_SIZE(config.mem_regions),
49                         .num_irqchips = ARRAY_SIZE(config.irqchips),
50                         .pio_bitmap_size = ARRAY_SIZE(config.pio_bitmap),
51                         .num_pci_devices = ARRAY_SIZE(config.pci_devices),
52                         .num_pci_caps = ARRAY_SIZE(config.pci_caps),
53                 },
54         },
55
56         .cpus = {
57                 0x000000000000000f,
58         },
59
60         .mem_regions = {
61                 /* MemRegion: 00000000-0009e7ff : System RAM */
62                 {
63                         .phys_start = 0x0,
64                         .virt_start = 0x0,
65                         .size = 0x9f000,
66                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
67                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
68                 },
69                 /* MemRegion: 000a0000-000bffff : PCI Bus 0000:00 */
70                 {
71                         .phys_start = 0xa0000,
72                         .virt_start = 0xa0000,
73                         .size = 0x20000,
74                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
75                 },
76                 /* MemRegion: 000c0000-000cf5ff : Video ROM */
77                 {
78                         .phys_start = 0xc0000,
79                         .virt_start = 0xc0000,
80                         .size = 0x10000,
81                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
82                 },
83                 /* MemRegion: 000e0000-000fffff : System ROM */
84                 {
85                         .phys_start = 0xe0000,
86                         .virt_start = 0xe0000,
87                         .size = 0x20000,
88                         .flags = JAILHOUSE_MEM_READ,
89                 },
90                 /* MemRegion: 00100000-3affffff : System RAM */
91                 {
92                         .phys_start = 0x100000,
93                         .virt_start = 0x100000,
94                         .size = 0x3af00000,
95                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
96                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
97                 },
98                 /* MemRegion: 3f200000-6c046fff : System RAM */
99                 {
100                         .phys_start = 0x3f200000,
101                         .virt_start = 0x3f200000,
102                         .size = 0x2ce47000,
103                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
104                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
105                 },
106                 /* MemRegion: 6c077000-6c339fff : System RAM */
107                 {
108                         .phys_start = 0x6c077000,
109                         .virt_start = 0x6c077000,
110                         .size = 0x2c3000,
111                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
112                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
113                 },
114                 /* MemRegion: 6c33a000-6c407fff : ACPI Non-volatile Storage */
115                 {
116                         .phys_start = 0x6c33a000,
117                         .virt_start = 0x6c33a000,
118                         .size = 0xce000,
119                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
120                 },
121                 /* MemRegion: 6d1c9000-6d1c9fff : System RAM */
122                 {
123                         .phys_start = 0x6d1c9000,
124                         .virt_start = 0x6d1c9000,
125                         .size = 0x1000,
126                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
127                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
128                 },
129                 /* MemRegion: 6d1ca000-6d3cffff : ACPI Non-volatile Storage */
130                 {
131                         .phys_start = 0x6d1ca000,
132                         .virt_start = 0x6d1ca000,
133                         .size = 0x206000,
134                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
135                 },
136                 /* MemRegion: 6d3d0000-6d850fff : System RAM */
137                 {
138                         .phys_start = 0x6d3d0000,
139                         .virt_start = 0x6d3d0000,
140                         .size = 0x481000,
141                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
142                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
143                 },
144                 /* MemRegion: 6dfe2000-6dffffff : System RAM */
145                 {
146                         .phys_start = 0x6dfe2000,
147                         .virt_start = 0x6dfe2000,
148                         .size = 0x1e000,
149                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
150                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
151                 },
152                 /* MemRegion: 6e000000-6fffffff : RAM buffer */
153                 {
154                         .phys_start = 0x6e000000,
155                         .virt_start = 0x6e000000,
156                         .size = 0x2000000,
157                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
158                                 JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
159                 },
160                 /* MemRegion: c0000000-cfffffff : 0000:00:01.0 */
161                 {
162                         .phys_start = 0xc0000000,
163                         .virt_start = 0xc0000000,
164                         .size = 0x10000000,
165                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
166                 },
167                 /* MemRegion: d0000000-d07fffff : 0000:00:01.0 */
168                 {
169                         .phys_start = 0xd0000000,
170                         .virt_start = 0xd0000000,
171                         .size = 0x800000,
172                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
173                 },
174                 /* MemRegion: d0801000-d0803fff : r8169 */
175                 {
176                         .phys_start = 0xd0801000,
177                         .virt_start = 0xd0801000,
178                         .size = 0x3000,
179                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
180                 },
181                 /* MemRegion: fea00000-fea00fff : r8169 */
182                 {
183                         .phys_start = 0xfea00000,
184                         .virt_start = 0xfea00000,
185                         .size = 0x1000,
186                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
187                 },
188                 /* MemRegion: feb00000-feb3ffff : 0000:00:01.0 */
189                 {
190                         .phys_start = 0xfeb00000,
191                         .virt_start = 0xfeb00000,
192                         .size = 0x40000,
193                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
194                 },
195                 /* MemRegion: feb40000-feb5ffff : 0000:00:01.0 */
196                 {
197                         .phys_start = 0xfeb40000,
198                         .virt_start = 0xfeb40000,
199                         .size = 0x20000,
200                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
201                 },
202                 /* MemRegion: feb60000-feb63fff : ICH HD audio */
203                 {
204                         .phys_start = 0xfeb60000,
205                         .virt_start = 0xfeb60000,
206                         .size = 0x4000,
207                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
208                 },
209                 /* MemRegion: feb64000-feb67fff : ICH HD audio */
210                 {
211                         .phys_start = 0xfeb64000,
212                         .virt_start = 0xfeb64000,
213                         .size = 0x4000,
214                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
215                 },
216                 /* MemRegion: feb68000-feb68fff : xhci_hcd */
217                 {
218                         .phys_start = 0xfeb68000,
219                         .virt_start = 0xfeb68000,
220                         .size = 0x1000,
221                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
222                 },
223                 /* MemRegion: feb6a000-feb6afff : xhci_hcd */
224                 {
225                         .phys_start = 0xfeb6a000,
226                         .virt_start = 0xfeb6a000,
227                         .size = 0x1000,
228                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
229                 },
230                 /* MemRegion: feb6c000-feb6cfff : ohci_hcd */
231                 {
232                         .phys_start = 0xfeb6c000,
233                         .virt_start = 0xfeb6c000,
234                         .size = 0x1000,
235                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
236                 },
237                 /* MemRegion: feb6d000-feb6d0ff : ehci_hcd */
238                 {
239                         .phys_start = 0xfeb6d000,
240                         .virt_start = 0xfeb6d000,
241                         .size = 0x1000,
242                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
243                 },
244                 /* MemRegion: feb6e000-feb6efff : ohci_hcd */
245                 {
246                         .phys_start = 0xfeb6e000,
247                         .virt_start = 0xfeb6e000,
248                         .size = 0x1000,
249                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
250                 },
251                 /* MemRegion: feb6f000-feb6f0ff : ehci_hcd */
252                 {
253                         .phys_start = 0xfeb6f000,
254                         .virt_start = 0xfeb6f000,
255                         .size = 0x1000,
256                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
257                 },
258                 /* MemRegion: feb70000-feb70fff : ohci_hcd */
259                 {
260                         .phys_start = 0xfeb70000,
261                         .virt_start = 0xfeb70000,
262                         .size = 0x1000,
263                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
264                 },
265                 /* MemRegion: feb71000-feb717ff : ahci */
266                 {
267                         .phys_start = 0xfeb71000,
268                         .virt_start = 0xfeb71000,
269                         .size = 0x1000,
270                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
271                 },
272                 /* MemRegion: feb80000-febfffff : amd_iommu */
273                 {
274                         .phys_start = 0xfeb80000,
275                         .virt_start = 0xfeb80000,
276                         .size = 0x80000,
277                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
278                 },
279                 /* MemRegion: fed00000-fed003ff : HPET 0 */
280                 {
281                         .phys_start = 0xfed00000,
282                         .virt_start = 0xfed00000,
283                         .size = 0x1000,
284                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
285                 },
286                 /* MemRegion: fed61000-fed70fff : pnp 00:0a */
287                 {
288                         .phys_start = 0xfed61000,
289                         .virt_start = 0xfed61000,
290                         .size = 0x10000,
291                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
292                 },
293                 /* MemRegion: 3f000000-3f1fffff : JAILHOUSE Inmate Memory */
294                 {
295                         .phys_start = 0x3f000000,
296                         .virt_start = 0x3f000000,
297                         .size = 0x200000,
298                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
299                 },
300         },
301
302         .irqchips = {
303                 /* IOAPIC */ {
304                         .address = 0xfec00000,
305                         .id = 0x0,
306                         .pin_bitmap = 0xffffff,
307                 },
308         },
309
310         .pio_bitmap = {
311                 [     0/8 ...   0x1f/8] = -1,
312                 [  0x20/8 ...   0x27/8] = 0xfc, /* HACK: PIC */
313                 [  0x28/8 ...   0x3f/8] = -1,
314                 [  0x40/8 ...   0x47/8] = 0xf0, /* PIT */
315                 [  0x48/8 ...   0x5f/8] = -1,
316                 [  0x60/8 ...   0x67/8] = 0xec, /* HACK: NMI status/control */
317                 [  0x68/8 ...   0x6f/8] = -1,
318                 [  0x70/8 ...   0x77/8] = 0xfc, /* RTC */
319                 [  0x78/8 ...   0x7f/8] = -1,
320                 [  0x80/8 ...   0x87/8] = 0xfe, /* Port 80 (delays) */
321                 [  0x88/8 ...  0x3af/8] = -1,
322                 [ 0x3b0/8 ...  0x3df/8] = 0x00, /* VGA */
323                 [ 0x3e0/8 ...  0xcf7/8] = 0, /* HACK: PCI bus */
324                 [ 0xcf8/8 ...  0xcff/8] = -1,
325                 [ 0xd00/8 ... 0xffff/8] = 0, /* HACK: PCI bus */
326         },
327
328         .pci_devices = {
329                 /* PCIDevice: 00:00.0 */
330                 {
331                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
332                         .domain = 0x0,
333                         .bdf = 0x0,
334                         .caps_start = 0,
335                         .num_caps = 0,
336                 },
337                 /* PCIDevice: 00:00.2 */
338                 {
339                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
340                         .domain = 0x0,
341                         .bdf = 0x2,
342                         .caps_start = 0,
343                         .num_caps = 3,
344                 },
345                 /* PCIDevice: 00:01.0 */
346                 {
347                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
348                         .domain = 0x0,
349                         .bdf = 0x8,
350                         .caps_start = 3,
351                         .num_caps = 3,
352                 },
353                 /* PCIDevice: 00:01.1 */
354                 {
355                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
356                         .domain = 0x0,
357                         .bdf = 0x9,
358                         .caps_start = 3,
359                         .num_caps = 3,
360                 },
361                 /* PCIDevice: 00:04.0 */
362                 {
363                         .type = JAILHOUSE_PCI_TYPE_BRIDGE,
364                         .domain = 0x0,
365                         .bdf = 0x20,
366                         .caps_start = 6,
367                         .num_caps = 5,
368                 },
369                 /* PCIDevice: 00:10.0 */
370                 {
371                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
372                         .domain = 0x0,
373                         .bdf = 0x80,
374                         .caps_start = 11,
375                         .num_caps = 4,
376                 },
377                 /* PCIDevice: 00:10.1 */
378                 {
379                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
380                         .domain = 0x0,
381                         .bdf = 0x81,
382                         .caps_start = 11,
383                         .num_caps = 4,
384                 },
385                 /* PCIDevice: 00:11.0 */
386                 {
387                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
388                         .domain = 0x0,
389                         .bdf = 0x88,
390                         .caps_start = 15,
391                         .num_caps = 2,
392                 },
393                 /* PCIDevice: 00:12.0 */
394                 {
395                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
396                         .domain = 0x0,
397                         .bdf = 0x90,
398                         .caps_start = 0,
399                         .num_caps = 0,
400                 },
401                 /* PCIDevice: 00:12.2 */
402                 {
403                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
404                         .domain = 0x0,
405                         .bdf = 0x92,
406                         .caps_start = 17,
407                         .num_caps = 2,
408                 },
409                 /* PCIDevice: 00:13.0 */
410                 {
411                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
412                         .domain = 0x0,
413                         .bdf = 0x98,
414                         .caps_start = 0,
415                         .num_caps = 0,
416                 },
417                 /* PCIDevice: 00:13.2 */
418                 {
419                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
420                         .domain = 0x0,
421                         .bdf = 0x9a,
422                         .caps_start = 17,
423                         .num_caps = 2,
424                 },
425                 /* PCIDevice: 00:14.0 */
426                 {
427                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
428                         .domain = 0x0,
429                         .bdf = 0xa0,
430                         .caps_start = 0,
431                         .num_caps = 0,
432                 },
433                 /* PCIDevice: 00:14.2 */
434                 {
435                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
436                         .domain = 0x0,
437                         .bdf = 0xa2,
438                         .caps_start = 19,
439                         .num_caps = 1,
440                 },
441                 /* PCIDevice: 00:14.3 */
442                 {
443                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
444                         .domain = 0x0,
445                         .bdf = 0xa3,
446                         .caps_start = 0,
447                         .num_caps = 0,
448                 },
449                 /* PCIDevice: 00:14.4 */
450                 {
451                         .type = JAILHOUSE_PCI_TYPE_BRIDGE,
452                         .domain = 0x0,
453                         .bdf = 0xa4,
454                         .caps_start = 0,
455                         .num_caps = 0,
456                 },
457                 /* PCIDevice: 00:14.5 */
458                 {
459                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
460                         .domain = 0x0,
461                         .bdf = 0xa5,
462                         .caps_start = 0,
463                         .num_caps = 0,
464                 },
465                 /* PCIDevice: 00:18.0 */
466                 {
467                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
468                         .domain = 0x0,
469                         .bdf = 0xc0,
470                         .caps_start = 0,
471                         .num_caps = 0,
472                 },
473                 /* PCIDevice: 00:18.1 */
474                 {
475                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
476                         .domain = 0x0,
477                         .bdf = 0xc1,
478                         .caps_start = 0,
479                         .num_caps = 0,
480                 },
481                 /* PCIDevice: 00:18.2 */
482                 {
483                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
484                         .domain = 0x0,
485                         .bdf = 0xc2,
486                         .caps_start = 0,
487                         .num_caps = 0,
488                 },
489                 /* PCIDevice: 00:18.3 */
490                 {
491                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
492                         .domain = 0x0,
493                         .bdf = 0xc3,
494                         .caps_start = 20,
495                         .num_caps = 1,
496                 },
497                 /* PCIDevice: 00:18.4 */
498                 {
499                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
500                         .domain = 0x0,
501                         .bdf = 0xc4,
502                         .caps_start = 0,
503                         .num_caps = 0,
504                 },
505                 /* PCIDevice: 00:18.5 */
506                 {
507                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
508                         .domain = 0x0,
509                         .bdf = 0xc5,
510                         .caps_start = 0,
511                         .num_caps = 0,
512                 },
513                 /* PCIDevice: 01:00.0 */
514                 {
515                         .type = JAILHOUSE_PCI_TYPE_DEVICE,
516                         .domain = 0x0,
517                         .bdf = 0x100,
518                         .caps_start = 21,
519                         .num_caps = 5,
520                 },
521         },
522
523         .pci_caps = {
524                 /* PCIDevice: 00:00.2 */
525                 {
526                         .id = 0xf,
527                         .start = 0x40,
528                         .len = 2,
529                         .flags = 0,
530                 },
531                 {
532                         .id = 0x5,
533                         .start = 0x54,
534                         .len = 14,
535                         .flags = JAILHOUSE_PCICAPS_WRITE,
536                 },
537                 {
538                         .id = 0x8,
539                         .start = 0x64,
540                         .len = 2,
541                         .flags = 0,
542                 },
543                 /* PCIDevice: 00:01.0 */
544                 /* PCIDevice: 00:01.1 */
545                 {
546                         .id = 0x1,
547                         .start = 0x50,
548                         .len = 8,
549                         .flags = JAILHOUSE_PCICAPS_WRITE,
550                 },
551                 {
552                         .id = 0x10,
553                         .start = 0x58,
554                         .len = 2,
555                         .flags = 0,
556                 },
557                 {
558                         .id = 0x5,
559                         .start = 0xa0,
560                         .len = 14,
561                         .flags = JAILHOUSE_PCICAPS_WRITE,
562                 },
563                 /* PCIDevice: 00:04.0 */
564                 {
565                         .id = 0x1,
566                         .start = 0x50,
567                         .len = 8,
568                         .flags = JAILHOUSE_PCICAPS_WRITE,
569                 },
570                 {
571                         .id = 0x10,
572                         .start = 0x58,
573                         .len = 2,
574                         .flags = 0,
575                 },
576                 {
577                         .id = 0x5,
578                         .start = 0xa0,
579                         .len = 14,
580                         .flags = JAILHOUSE_PCICAPS_WRITE,
581                 },
582                 {
583                         .id = 0xd,
584                         .start = 0xb0,
585                         .len = 2,
586                         .flags = 0,
587                 },
588                 {
589                         .id = 0x8,
590                         .start = 0xb8,
591                         .len = 2,
592                         .flags = 0,
593                 },
594                 /* PCIDevice: 00:10.0 */
595                 /* PCIDevice: 00:10.1 */
596                 {
597                         .id = 0x1,
598                         .start = 0x50,
599                         .len = 8,
600                         .flags = JAILHOUSE_PCICAPS_WRITE,
601                 },
602                 {
603                         .id = 0x5,
604                         .start = 0x70,
605                         .len = 14,
606                         .flags = JAILHOUSE_PCICAPS_WRITE,
607                 },
608                 {
609                         .id = 0x11,
610                         .start = 0x90,
611                         .len = 12,
612                         .flags = JAILHOUSE_PCICAPS_WRITE,
613                 },
614                 {
615                         .id = 0x10,
616                         .start = 0xa0,
617                         .len = 2,
618                         .flags = 0,
619                 },
620                 /* PCIDevice: 00:11.0 */
621                 {
622                         .id = 0x5,
623                         .start = 0x50,
624                         .len = 14,
625                         .flags = JAILHOUSE_PCICAPS_WRITE,
626                 },
627                 {
628                         .id = 0x12,
629                         .start = 0x70,
630                         .len = 2,
631                         .flags = 0,
632                 },
633                 /* PCIDevice: 00:12.2 */
634                 /* PCIDevice: 00:13.2 */
635                 {
636                         .id = 0x1,
637                         .start = 0xc0,
638                         .len = 8,
639                         .flags = JAILHOUSE_PCICAPS_WRITE,
640                 },
641                 {
642                         .id = 0xa,
643                         .start = 0xe4,
644                         .len = 2,
645                         .flags = 0,
646                 },
647                 /* PCIDevice: 00:14.2 */
648                 {
649                         .id = 0x1,
650                         .start = 0x50,
651                         .len = 8,
652                         .flags = JAILHOUSE_PCICAPS_WRITE,
653                 },
654                 /* PCIDevice: 00:18.3 */
655                 {
656                         .id = 0xf,
657                         .start = 0xf0,
658                         .len = 2,
659                         .flags = 0,
660                 },
661                 /* PCIDevice: 01:00.0 */
662                 {
663                         .id = 0x1,
664                         .start = 0x40,
665                         .len = 8,
666                         .flags = JAILHOUSE_PCICAPS_WRITE,
667                 },
668                 {
669                         .id = 0x5,
670                         .start = 0x50,
671                         .len = 14,
672                         .flags = JAILHOUSE_PCICAPS_WRITE,
673                 },
674                 {
675                         .id = 0x10,
676                         .start = 0x70,
677                         .len = 2,
678                         .flags = 0,
679                 },
680                 {
681                         .id = 0x11,
682                         .start = 0xb0,
683                         .len = 12,
684                         .flags = JAILHOUSE_PCICAPS_WRITE,
685                 },
686                 {
687                         .id = 0x3,
688                         .start = 0xd0,
689                         .len = 2,
690                         .flags = 0,
691                 },
692         },
693 };