Current patch series introduces device tree mapping for RISC-V
and necessary things for that such as:
- Fixmap mapping
- pmap
- Xen page table processing
---
Changes in v6:
- Add patch to fix recursion when ASSERT(), BUG*(), panic() are called.
- Add patch to allow write_atomic() to work with non-scalar types for consistence
with read_atomic().
- All other changes are patch specific so please look at the patch.
---
Changes in v5:
- The following patch was merged to staging:
[PATCH v3 3/9] xen/riscv: enable CONFIG_HAS_DEVICE_TREE
- Drop depedency from "RISCV basic exception handling implementation" as
it was meged to staging branch.
- All other changes are patch specific so please look at the patch.
---
Changes in v4:
- Drop depedency from common devicre tree patch series as it was merged to
staging.
- Update the cover letter message.
- All other changes are patch specific so please look at the patch.
---
Changes in v3:
- Introduce SBI RFENCE extension support.
- Introduce and initialize pcpu_info[] and __cpuid_to_hartid_map[] and functionality
to work with this arrays.
- Make page table handling arch specific instead of trying to make it generic.
- All other changes are patch specific so please look at the patch.
---
Changes in v2:
- Update the cover letter message
- introduce fixmap mapping
- introduce pmap
- introduce CONFIG_GENREIC_PT
- update use early_fdt_map() after MMU is enabled.
---
Oleksii Kurochko (9):
xen/riscv: prevent recursion when ASSERT(), BUG*(), or panic() are
called
xen/riscv: use {read,write}{b,w,l,q}_cpu() to define
{read,write}_atomic()
xen/riscv: allow write_atomic() to work with non-scalar types
xen/riscv: set up fixmap mappings
xen/riscv: introduce asm/pmap.h header
xen/riscv: introduce functionality to work with CPU info
xen/riscv: introduce and initialize SBI RFENCE extension
xen/riscv: page table handling
xen/riscv: introduce early_fdt_map()
xen/arch/riscv/Kconfig | 1 +
xen/arch/riscv/Makefile | 2 +
xen/arch/riscv/include/asm/atomic.h | 37 +-
xen/arch/riscv/include/asm/config.h | 16 +-
xen/arch/riscv/include/asm/fixmap.h | 46 +++
xen/arch/riscv/include/asm/flushtlb.h | 15 +
xen/arch/riscv/include/asm/mm.h | 6 +
xen/arch/riscv/include/asm/page.h | 91 +++++
xen/arch/riscv/include/asm/pmap.h | 36 ++
xen/arch/riscv/include/asm/processor.h | 27 +-
xen/arch/riscv/include/asm/riscv_encoding.h | 1 +
xen/arch/riscv/include/asm/sbi.h | 63 +++
xen/arch/riscv/include/asm/smp.h | 9 +
xen/arch/riscv/mm.c | 101 ++++-
xen/arch/riscv/pt.c | 423 ++++++++++++++++++++
xen/arch/riscv/riscv64/asm-offsets.c | 2 +
xen/arch/riscv/riscv64/head.S | 15 +
xen/arch/riscv/sbi.c | 274 ++++++++++++-
xen/arch/riscv/setup.c | 17 +
xen/arch/riscv/smp.c | 15 +
xen/arch/riscv/stubs.c | 2 +-
xen/arch/riscv/xen.lds.S | 2 +-
22 files changed, 1166 insertions(+), 35 deletions(-)
create mode 100644 xen/arch/riscv/include/asm/fixmap.h
create mode 100644 xen/arch/riscv/include/asm/pmap.h
create mode 100644 xen/arch/riscv/pt.c
create mode 100644 xen/arch/riscv/smp.c
--
2.46.0