summaryrefslogtreecommitdiff
path: root/xen/include/public
diff options
context:
space:
mode:
authorRahul Singh <rahul.singh@arm.com>2021-10-15 17:51:45 +0100
committerStefano Stabellini <stefano.stabellini@xilinx.com>2021-10-15 12:40:21 -0700
commit52d0847d7c6972baa74156f14ee8544f5aba1d2d (patch)
tree3b4a98eb8338bb7d76f434e9f2417b760d05b79e /xen/include/public
parent559ea0debabac5f142d3b901527d48cc99021588 (diff)
arm/libxl: Emulated PCI device tree node in libxl
libxl will create an emulated PCI device tree node in the device tree to enable the guest OS to discover the virtual PCI during guest boot. Emulated PCI device tree node will only be created when there is any device assigned to guest. A new area has been reserved in the arm guest physical map at which the VPCI bus is declared in the device tree (reg and ranges parameters of the node). Note that currently we are using num_pcidevs instead of c_info->passthrough to decide whether to create a vPCI DT node. This will be insufficient if and when ARM does PCI hotplug. Add this note inside libxl_create.c where c_info->passthrough is set. Signed-off-by: Rahul Singh <rahul.singh@arm.com> Signed-off-by: Michal Orzel <michal.orzel@arm.com> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com> Reviewed-by: Julien Grall <jgrall@amazon.com> Acked-by: Ian Jackson <iwj@xenproject.org> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Diffstat (limited to 'xen/include/public')
-rw-r--r--xen/include/public/arch-arm.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index b4c615bcdf..94b31511dd 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -433,6 +433,11 @@ typedef uint64_t xen_callback_t;
#define GUEST_PL011_BASE xen_mk_ullong(0x22000000)
#define GUEST_PL011_SIZE xen_mk_ullong(0x00001000)
+/* Guest PCI-PCIe memory space where config space and BAR will be available.*/
+#define GUEST_VPCI_ADDR_TYPE_MEM xen_mk_ullong(0x02000000)
+#define GUEST_VPCI_MEM_ADDR xen_mk_ullong(0x23000000)
+#define GUEST_VPCI_MEM_SIZE xen_mk_ullong(0x10000000)
+
/*
* 16MB == 4096 pages reserved for guest to use as a region to map its
* grant table in.
@@ -453,6 +458,11 @@ typedef uint64_t xen_callback_t;
#define GUEST_RAM0_BASE xen_mk_ullong(0x40000000) /* 3GB of low RAM @ 1GB */
#define GUEST_RAM0_SIZE xen_mk_ullong(0xc0000000)
+/* 4GB @ 4GB Prefetch Memory for VPCI */
+#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM xen_mk_ullong(0x42000000)
+#define GUEST_VPCI_PREFETCH_MEM_ADDR xen_mk_ullong(0x100000000)
+#define GUEST_VPCI_PREFETCH_MEM_SIZE xen_mk_ullong(0x100000000)
+
#define GUEST_RAM1_BASE xen_mk_ullong(0x0200000000) /* 1016GB of RAM @ 8GB */
#define GUEST_RAM1_SIZE xen_mk_ullong(0xfe00000000)