Hello Andrew and Teddy,
thank you for your feedback. I have looked into your branch and the
feedback you gave me. I have added 5 patches on top of my original one.
One of your patches I kept as is, and the other 2 I filled in the gaps.
Then I added 2 patches on top, which ensure that the GIC version is now
properly reported via XEN_DOMCTL_getdomaininfo and the frequency
reported via sysctl physinfo as you suggested. And a final one which
makes the config argument to arch_sanitise_domain_config const.
I'm only wondering about two things. The uint32_t pad in
xen_sysctl_physinfo can I simply use this for the clock_frequency? And
second, in your patch "arm remove native", you removed the
XEN_DOMCTL_CONFIG_GIC_NATIVE but didn't bump the
XEN_DOMCTL_INTERFACE_VERSION. Do we actually need to bump the version?
Signed-off-by: Julian Vetter <julian.vetter@vates.tech>
---
Changes in v2:
- Added 5 new patches to address the remaining problem that
DOMCTL_createdomain on ARM is sneaking out some parameters back to the
toolstack (i.e., GIC version and timer frequency), where the config
parameter is supposed to be just an IN parameter
---
Andrew Cooper (3):
ARM/sysctl: Expose the supported guest GIC modes in physinfo
xen/arm: choose GIC version explicitly instead of GIC_NATIVE
xen/arm: remove XEN_DOMCTL_CONFIG_GIC_NATIVE from the ABI
Julian Vetter (3):
xen/arm: report proper GIC version via XEN_DOMCTL_getdomaininfo
xen/arm: report clock_frequency via sysctl physinfo, not createdomain
xen: make config argument const
.../include/xen-tools/arm-arch-capabilities.h | 21 ++++++++++++++
tools/libs/light/libxl.c | 1 +
tools/libs/light/libxl_arm.c | 28 +++++++++++++++---
tools/libs/light/libxl_types.idl | 1 +
tools/ocaml/libs/xc/xenctrl.ml | 1 -
tools/ocaml/libs/xc/xenctrl.mli | 1 -
tools/python/xen/lowlevel/xc/xc.c | 18 +++++++++++-
xen/arch/arm/dom0less-build.c | 3 +-
xen/arch/arm/domain.c | 29 +++++++------------
xen/arch/arm/domain_build.c | 3 +-
xen/arch/arm/domctl.c | 2 ++
xen/arch/arm/firmware/sci.c | 2 +-
xen/arch/arm/firmware/scmi-smc.c | 2 +-
xen/arch/arm/gic.c | 16 ++++++++++
xen/arch/arm/include/asm/firmware/sci.h | 6 ++--
xen/arch/arm/include/asm/gic.h | 6 ++++
xen/arch/arm/include/asm/vtimer.h | 3 +-
xen/arch/arm/sysctl.c | 29 +++++++++++++++++++
xen/arch/arm/vtimer.c | 4 +--
xen/arch/ppc/stubs.c | 2 +-
xen/arch/riscv/domain.c | 2 +-
xen/arch/x86/domain.c | 16 +++++-----
xen/include/public/arch-arm.h | 17 +----------
xen/include/public/domctl.h | 4 +--
xen/include/public/sysctl.h | 15 +++++++++-
xen/include/xen/sched.h | 6 ++--
26 files changed, 170 insertions(+), 68 deletions(-)
--
2.53.0
--
Julian Vetter | Vates Hypervisor & Kernel Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech