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/cover.1770650552.git.oleksii.kurochko@gmail.com/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