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 and unmapping to a running domain. Also, documentation
of the "dynamic node programming using overlay dtbo" feature is added.
During the discussion in v3, I was recommended to split the overlay
devices attach/detach to/from running domains to separated patches [3].
But I decided to only expose the xl user interfaces together to the
users after device attach/detach is fully functional, so I didn't
split the toolstack patch (#8).
Patch 1 is a fix of the existing code which is noticed during my local
tests, 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/1301720278
[3] https://lore.kernel.org/xen-devel/e743d3d2-5884-4e55-8627-85985ba339f9@amd.com/
Henry Wang (7):
tools/xl: Correct the help information and exit code of the dt-overlay
command
xen/arm, doc: Add a DT property to specify IOMMU for Dom0less domUs
tools/arm: Introduce the "nr_spis" xl config entry
xen/arm/gic: Allow adding interrupt to running VMs
xen/arm: Add XEN_DOMCTL_dt_overlay and device attachment to domains
xen/arm: Support device detachment from domains
tools: Introduce the "xl dt-overlay {attach,detach}" commands
Vikram Garhwal (2):
xen/arm/gic: Allow removing interrupt to running VMs
docs: Add device tree overlay documentation
docs/man/xl.cfg.5.pod.in | 14 +
docs/misc/arm/device-tree/booting.txt | 16 +
docs/misc/arm/overlay.txt | 99 ++++++
tools/golang/xenlight/helpers.gen.go | 2 +
tools/golang/xenlight/types.gen.go | 1 +
tools/include/libxl.h | 10 +
tools/include/xenctrl.h | 3 +
tools/libs/ctrl/xc_dt_overlay.c | 31 ++
tools/libs/light/libxl_arm.c | 4 +-
tools/libs/light/libxl_dt_overlay.c | 28 ++
tools/libs/light/libxl_types.idl | 1 +
tools/xl/xl_cmdtable.c | 4 +-
tools/xl/xl_parse.c | 3 +
tools/xl/xl_vmcontrol.c | 48 ++-
xen/arch/arm/dom0less-build.c | 11 +-
xen/arch/arm/domctl.c | 3 +
xen/arch/arm/gic-vgic.c | 36 ++-
xen/arch/arm/gic.c | 17 +-
xen/arch/arm/vgic/vgic.c | 31 +-
xen/common/dt-overlay.c | 438 ++++++++++++++++++++------
xen/include/public/domctl.h | 15 +
xen/include/public/sysctl.h | 11 +-
xen/include/xen/dt-overlay.h | 7 +
23 files changed, 678 insertions(+), 155 deletions(-)
create mode 100644 docs/misc/arm/overlay.txt
--
2.34.1