Introduce functions required to perform a p2m context switch during a vCPU context switch.
Although this patch series is technically independent of [1], some merge conflicts are still possible depending on which series is applied first. For now, the series has been rebased on top of [1] but can go without [1]. [1] https://lore.kernel.org/xen-devel/[email protected]/T/#m5d8de24e5ee0eaf6f35f9f1437a00096e3574684 --- Changes in v2: - Drop patch "xen/riscv: introduce struct arch_vcpu", took only declaration of vsatp and squash it with the patch: xen/riscv: implement p2m_ctx_switch_{to,from}_state() - Other changes please look at specific patch. - CI tests: https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/2317277592 --- Oleksii Kurochko (2): xen/riscv: add support for local guest TLB flush using HFENCE.VVMA xen/riscv: add p2m context switch handling for VSATP and HGATP xen/arch/riscv/include/asm/domain.h | 1 + xen/arch/riscv/include/asm/flushtlb.h | 7 ++ xen/arch/riscv/include/asm/insn-defs.h | 10 ++ xen/arch/riscv/include/asm/p2m.h | 11 +++ xen/arch/riscv/p2m.c | 123 +++++++++++++++++++++++++ xen/arch/riscv/traps.c | 2 + 6 files changed, 154 insertions(+) create mode 100644 xen/arch/riscv/include/asm/insn-defs.h -- 2.52.0
