Introduce necessary things to enable DOMAIN_BUILD_HELPERS config for RISC-V.
This patch series is rebased on top of patch "xen: introduce CONFIG_HAS_DOMAIN_TYPE"
but there is no any technical dependency.
CI: https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/2506574229
---
Changes in v5:
- Merged to upstream staging:
xen/riscv: implement get_page_from_gfn()
- Address other comments from ML.
---
Changes in v4:
- Move patch up, closer to other common/Arm related patches:
- xen/dom0less: rename kernel_zimage_probe() to kernel_image_probe()
- xen: move declaration of fw_unreserved_regions() to common header
- xen: move domain_use_host_layout() to common header
- xen: rename p2m_ipa_bits to p2m_gpa_bits
- Merged to upstream/staging:
xen/riscv: implement get_page_from_gfn()
- Rebase this patch series on top of [PATCH v3 0/3] dom0less: various updates.
- Address the comments from ML.
---
Changes in v3:
- Address the comments from ML.
---
Changes in v2:
- Address the comments from ML.
- Introduce some new patches to make dom0less solution more architecture
indepenent from terminology point of view.
- Minor fixes.
---
Oleksii Kurochko (11):
xen: arm: fix len type for guest copy functions
xen/dom0less: rename kernel_zimage_probe() to kernel_image_probe()
xen: move declaration of fw_unreserved_regions() to common header
xen: introduce domain-layout.h with common domain_use_host_layout()
xen/device-tree: use p2m_gpa_bits in common code
xen/riscv: implement copy_to_guest_phys()
xen/riscv: add Linux kernel loading support
xen/riscv: rework G-stage mode handling
xen/riscv: introduce p2m_gpa_bits
xen/riscv: add definition of guest RAM banks
xen/riscv: enable DOMAIN_BUILD_HELPERS
xen/arch/arm/domain_build.c | 1 +
xen/arch/arm/guestcopy.c | 6 +-
xen/arch/arm/include/asm/domain.h | 14 --
xen/arch/arm/include/asm/guest_access.h | 2 +-
xen/arch/arm/include/asm/p2m.h | 2 +
xen/arch/arm/include/asm/setup.h | 3 -
xen/arch/arm/kernel.c | 50 ++---
xen/arch/arm/vgic-v3.c | 1 +
xen/arch/riscv/Kconfig | 1 +
xen/arch/riscv/Makefile | 3 +
xen/arch/riscv/dom0less-build.c | 71 ++++++
xen/arch/riscv/guestcopy.c | 116 ++++++++++
xen/arch/riscv/include/asm/config.h | 13 ++
xen/arch/riscv/include/asm/domain.h | 1 +
xen/arch/riscv/include/asm/guest-layout.h | 23 ++
xen/arch/riscv/include/asm/guest_access.h | 7 +
xen/arch/riscv/include/asm/p2m.h | 21 +-
xen/arch/riscv/include/asm/paging.h | 1 +
xen/arch/riscv/kernel.c | 249 ++++++++++++++++++++++
xen/arch/riscv/p2m.c | 134 ++++++++----
xen/arch/riscv/vmid.c | 2 +-
xen/common/device-tree/domain-build.c | 3 +-
xen/common/device-tree/kernel.c | 2 +-
xen/include/public/arch-riscv.h | 5 +
xen/include/xen/bootinfo.h | 4 +
xen/include/xen/domain-layout.h | 28 +++
xen/include/xen/fdt-domain-build.h | 2 +-
xen/include/xen/fdt-kernel.h | 17 +-
28 files changed, 683 insertions(+), 99 deletions(-)
create mode 100644 xen/arch/riscv/dom0less-build.c
create mode 100644 xen/arch/riscv/guestcopy.c
create mode 100644 xen/arch/riscv/include/asm/guest-layout.h
create mode 100644 xen/arch/riscv/kernel.c
create mode 100644 xen/include/xen/domain-layout.h
--
2.54.0