[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 |