mbox series

[v3,0/9] RISCV device tree mapping

Message ID cover.1721834549.git.oleksii.kurochko@gmail.com (mailing list archive)
Headers show
Series RISCV device tree mapping | expand

Message

Oleksii Kurochko July 24, 2024, 3:31 p.m. UTC
Current patch series introduces device tree mapping for RISC-V
and necessary things for that such as:
- Fixmap mapping
- pmap
- Xen page table processing

Also, it introduces common stuff for working with fdt which is
based on the patches from [1]:
  [PATCH v4 2/6] xen/device-tree: Move Arm's setup.c bootinfo functions to common
  [PATCH v4 3/6] xen/common: Move Arm's bootfdt.c
All changes which were done on top of Shawn's patches please find in "Changes" section
of each patch.

Also there is another one depenency:
RISCV basic exception handling implementation [2]

[1] https://lore.kernel.org/xen-devel/cover.1712893887.git.sanastasio@raptorengineering.com/
[2] https://lore.kernel.org/xen-devel/cover.1720799487.git.oleksii.kurochko@gmail.com/T/#t

---
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 (7):
  xen/riscv: enable CONFIG_HAS_DEVICE_TREE
  xen/riscv: setup fixmap mapping
  xen/riscv: introduce asm/pmap.h header
  xen/riscv: introduce functionality to work with cpu info
  xen/riscv: introduce and init SBI RFENCE extension
  xen/riscv: page table handling
  xen/riscv: introduce early_fdt_map()

Shawn Anastasio (2):
  xen/device-tree: Move Arm's setup.c bootinfo functions to common
  xen/common: Move Arm's bootfdt.c to common

 MAINTAINERS                            |    2 +
 xen/arch/arm/Makefile                  |    1 -
 xen/arch/arm/bootfdt.c                 |  622 -------
 xen/arch/arm/include/asm/setup.h       |  198 +--
 xen/arch/arm/setup.c                   |  432 -----
 xen/arch/riscv/Kconfig                 |    3 +
 xen/arch/riscv/Makefile                |    3 +
 xen/arch/riscv/include/asm/config.h    |    8 +
 xen/arch/riscv/include/asm/fixmap.h    |   44 +
 xen/arch/riscv/include/asm/flushtlb.h  |   37 +
 xen/arch/riscv/include/asm/mm.h        |    6 +
 xen/arch/riscv/include/asm/page-bits.h |   36 +
 xen/arch/riscv/include/asm/page.h      |   84 +-
 xen/arch/riscv/include/asm/pmap.h      |   33 +
 xen/arch/riscv/include/asm/processor.h |   35 +-
 xen/arch/riscv/include/asm/sbi.h       |   57 +
 xen/arch/riscv/include/asm/smp.h       |   10 +
 xen/arch/riscv/mm.c                    |  120 +-
 xen/arch/riscv/pt.c                    |  410 +++++
 xen/arch/riscv/sbi.c                   |  256 +++
 xen/arch/riscv/setup.c                 |   27 +
 xen/arch/riscv/smp.c                   |    4 +
 xen/arch/riscv/smpboot.c               |   12 +
 xen/arch/riscv/xen.lds.S               |    2 +-
 xen/common/Makefile                    |    2 +-
 xen/common/device-tree/Makefile        |    3 +
 xen/common/device-tree/bootfdt.c       |  635 +++++++
 xen/common/device-tree/bootinfo.c      |  459 +++++
 xen/common/device-tree/device_tree.c   | 2253 ++++++++++++++++++++++++
 xen/common/device_tree.c               | 2253 ------------------------
 xen/include/xen/bootfdt.h              |  209 +++
 31 files changed, 4740 insertions(+), 3516 deletions(-)
 delete mode 100644 xen/arch/arm/bootfdt.c
 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
 create mode 100644 xen/arch/riscv/smpboot.c
 create mode 100644 xen/common/device-tree/Makefile
 create mode 100644 xen/common/device-tree/bootfdt.c
 create mode 100644 xen/common/device-tree/bootinfo.c
 create mode 100644 xen/common/device-tree/device_tree.c
 delete mode 100644 xen/common/device_tree.c
 create mode 100644 xen/include/xen/bootfdt.h