Hi all,
This is the remaining series for the full functional "dynamic node
programming using overlay dtbo" feature. The first part [1] has
already been merged.
Quoting from the original series, the first part has already made
Xen aware of new device tree node which means updating the dt_host
with overlay node information, and in this series, the goal is to
map IRQ and IOMMU during runtime, where we will do the actual IOMMU
and IRQ mapping to a running domain and will call unmap_mmio_regions()
to remove the mapping.
Also, documentation of the "dynamic node programming using overlay dtbo"
feature is added.
Patch 1 is a fix of [1] which is noticed during my local test, details
please see the commit message.
Gitlab CI for this series can be found in [2].
[1] https://lore.kernel.org/xen-devel/20230906011631.30310-1-vikram.garhwal@amd.com/
[2] https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/1265297506
Henry Wang (1):
xen/commom/dt-overlay: Fix missing lock when remove the device
Vikram Garhwal (14):
xen/arm/gic: Enable interrupt assignment to running VM
xen/arm: Always enable IOMMU
tools/libs/light: Always enable IOMMU
tools/libs/light: Increase nr_spi to 160
rangeset: Move struct range and struct rangeset to headerfile
xen/overlay: Enable device tree overlay assignment to running domains
tools: Add domain_id and expert mode for overlay operations
tools/libs/light: Modify dtbo to domU linux dtbo format
tools/xl: Share overlay with domU
tools/helpers: Add get_overlay
get_overlay: remove domU overlay
xl/overlay: add remove operation to xenstore
add a domU script to fetch overlays and applying them to linux
docs: add device tree overlay documentation
docs/misc/arm/overlay.txt | 172 +++++++++
tools/helpers/Makefile | 8 +
tools/helpers/get_overlay.c | 507 ++++++++++++++++++++++++++
tools/helpers/get_overlay.sh | 81 +++++
tools/include/libxl.h | 8 +-
tools/include/xenctrl.h | 5 +-
tools/libs/ctrl/xc_dt_overlay.c | 7 +-
tools/libs/light/libxl_arm.c | 9 +-
tools/libs/light/libxl_dt_overlay.c | 90 ++++-
tools/xl/Makefile | 2 +-
tools/xl/xl_cmdtable.c | 2 +-
tools/xl/xl_vmcontrol.c | 539 +++++++++++++++++++++++++++-
xen/arch/arm/device.c | 8 +-
xen/arch/arm/dom0less-build.c | 3 +-
xen/arch/arm/domain_build.c | 2 +-
xen/arch/arm/gic.c | 4 +
xen/arch/arm/include/asm/setup.h | 3 +-
xen/common/dt-overlay.c | 223 ++++++++++--
xen/common/rangeset.c | 31 +-
xen/include/public/sysctl.h | 4 +-
xen/include/xen/rangeset.h | 32 +-
21 files changed, 1654 insertions(+), 86 deletions(-)
create mode 100644 docs/misc/arm/overlay.txt
create mode 100644 tools/helpers/get_overlay.c
create mode 100755 tools/helpers/get_overlay.sh
--
2.34.1