|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 0/5] Minimal build for RISCV
Hi all,
This series introduces a minimal build for RISCV. It is based on Bobby's
previous work from last year[0] rebased onto current Xen.
This series provides the patches necessary to get a minimal build
working. The build is "minimal" in the sense that it only supports
building TARGET=head.o. The arch/riscv/head.S is just a simple while(1).
The first 3 patches are mods to non-RISCV bits that enable building a
config with:
!CONFIG_HAS_NS16550
!CONFIG_HAS_PASSTHROUGH
!CONFIG_GRANT_TABLE
respectively. The fourth patch adds the make/Kconfig boilerplate
alongside head.S and asm-riscv/config.h (head.S references ENTRY
that is defined in asm-riscv/config.h).
The last adds a docker container for doing the build. To build from the
docker container (after creating it locally), you can run the following:
$ make XEN_TARGET_ARCH=riscv64 SUBSYSTEMS=xen -C xen TARGET=head.o
--
Changes since v2:
- Reduced number of riscv files added to ease review
Changes since v1:
- Dropped "xen/sched: Fix build when NR_CPUS == 1" since this was
fixed for 4.15
- Moved #ifdef-ary around iommu_enabled to iommu.h
- Moved struct grant_table declaration above ifdef CONFIG_GRANT_TABLE
instead of defining an empty struct when !CONFIG_GRANT_TABLE
Connor Davis (5):
xen/char: Default HAS_NS16550 to y only for X86 and ARM
xen/common: Guard iommu symbols with CONFIG_HAS_PASSTHROUGH
xen: Fix build when !CONFIG_GRANT_TABLE
xen: Add files needed for minimal riscv build
automation: Add container for riscv64 builds
automation/build/archlinux/riscv64.dockerfile | 33 ++++++
automation/scripts/containerize | 1 +
config/riscv64.mk | 5 +
xen/Makefile | 8 +-
xen/arch/riscv/Kconfig | 52 +++++++++
xen/arch/riscv/Kconfig.debug | 0
xen/arch/riscv/Makefile | 0
xen/arch/riscv/Rules.mk | 0
xen/arch/riscv/arch.mk | 16 +++
xen/arch/riscv/asm-offsets.c | 0
xen/arch/riscv/configs/riscv64_defconfig | 12 ++
xen/arch/riscv/head.S | 6 +
xen/common/memory.c | 10 ++
xen/drivers/char/Kconfig | 2 +-
xen/include/asm-riscv/config.h | 110 ++++++++++++++++++
xen/include/xen/grant_table.h | 3 +-
xen/include/xen/iommu.h | 8 +-
17 files changed, 261 insertions(+), 5 deletions(-)
create mode 100644 automation/build/archlinux/riscv64.dockerfile
create mode 100644 config/riscv64.mk
create mode 100644 xen/arch/riscv/Kconfig
create mode 100644 xen/arch/riscv/Kconfig.debug
create mode 100644 xen/arch/riscv/Makefile
create mode 100644 xen/arch/riscv/Rules.mk
create mode 100644 xen/arch/riscv/arch.mk
create mode 100644 xen/arch/riscv/asm-offsets.c
create mode 100644 xen/arch/riscv/configs/riscv64_defconfig
create mode 100644 xen/arch/riscv/head.S
create mode 100644 xen/include/asm-riscv/config.h
--
2.31.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |