1 /*
2  * Copyright (C) 2022 Intel Corporation.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <asm/vm_config.h>
8 #include <vpci.h>
9 #include <asm/mmu.h>
10 #include <asm/page.h>
11 #include <vmcs9900.h>
12 #include <ivshmem_cfg.h>
13 #define INVALID_PCI_BASE 0U
14 struct acrn_vm_pci_dev_config vm0_pci_devs[VM0_CONFIG_PCI_DEV_NUM] = {
15 	{
16 		.emu_type = PCI_DEV_TYPE_HVEMUL,
17 		.vdev_ops = &vhostbridge_ops,
18 		.vbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U},
19 	},
20 	{
21 		.emu_type = PCI_DEV_TYPE_PTDEV,
22 		.vbdf.bits =
23 			{
24 				.b = 0x00U,
25 				.d = 0x01U,
26 				.f = 0x00U,
27 			},
28 		.pbdf.bits =
29 			{
30 				.b = 0x00U,
31 				.d = 0x17U,
32 				.f = 0x00U,
33 			},
34 		.vbar_base[0] = 0x80020000UL,
35 		.vbar_base[5] = 0x80022000UL,
36 		.vbar_base[1] = 0x80023000UL,
37 		.vbar_base[4] = 0x3060UL,
38 		.vbar_base[3] = 0x3080UL,
39 		.vbar_base[2] = 0x3090UL,
40 	},
41 	{
42 		.emu_type = PCI_DEV_TYPE_PTDEV,
43 		.vbdf.bits =
44 			{
45 				.b = 0x00U,
46 				.d = 0x02U,
47 				.f = 0x00U,
48 			},
49 		.pbdf.bits =
50 			{
51 				.b = 0x00U,
52 				.d = 0x1FU,
53 				.f = 0x06U,
54 			},
55 		.vbar_base[0] = 0x80000000UL,
56 	},
57 };
58 struct acrn_vm_pci_dev_config vm1_pci_devs[VM1_CONFIG_PCI_DEV_NUM] = {
59 	{
60 		.emu_type = PCI_DEV_TYPE_HVEMUL,
61 		.vdev_ops = &vhostbridge_ops,
62 		.vbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U},
63 	},
64 	{
65 		.emu_type = PCI_DEV_TYPE_PTDEV,
66 		.vbdf.bits =
67 			{
68 				.b = 0x00U,
69 				.d = 0x01U,
70 				.f = 0x00U,
71 			},
72 		.pbdf.bits =
73 			{
74 				.b = 0x00U,
75 				.d = 0x14U,
76 				.f = 0x00U,
77 			},
78 		.vbar_base[0] = 0x80000000UL,
79 	},
80 };
81