[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v5 0/2] 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=riscv64/head.o. The arch/riscv/riscv64/head.S is just a simple while(1). The first patch is a mod to non-RISCV bits that enable building a config with !CONFIG_HAS_NS16550. The second 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). [0] https://lore.kernel.org/xen-devel/cover.1579615303.git.bobbyeshleman@xxxxxxxxx/ Thanks, Connor -- Changes since v5: - Added missing A-by from Jan to patch 1 Changes since v4: - Dropped patches 2 and 4 as these have been applied - Moved arch/riscv/head.S to arch/riscv/riscv64/head.S for consistency with ARM. - Added Bob and myself to MAINTAINERS Changes since v3: - Dropped "xen: Fix build when !CONFIG_GRANT_TABLE" since this was applied by Jan - Adjusted Kconfig condition for building NS16550 - Use bool rather than bool_t - Removed riscv memory map, as this should probably be done later once the frametable size is figured out - Consolidated 64-bit #defines in asm-riscv/config.h - Renamed riscv64_defconfig to tiny64_defconfig, added CONFIG_DEBUG and CONFIG_DEBUG_INFO - Fixed logic/alignment/whitespace issues in Kconfig files - Use upstream archlinux riscv64 cross-compiler packages instead of custom built toolchain in docker container 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 (2): xen/char: Default HAS_NS16550 to y only for X86 and ARM xen: Add files needed for minimal riscv build MAINTAINERS | 8 +++++ config/riscv64.mk | 5 +++ xen/Makefile | 8 +++-- xen/arch/riscv/Kconfig | 47 +++++++++++++++++++++++++ xen/arch/riscv/Kconfig.debug | 0 xen/arch/riscv/Makefile | 2 ++ xen/arch/riscv/Rules.mk | 0 xen/arch/riscv/arch.mk | 14 ++++++++ xen/arch/riscv/configs/tiny64_defconfig | 13 +++++++ xen/arch/riscv/riscv64/asm-offsets.c | 0 xen/arch/riscv/riscv64/head.S | 6 ++++ xen/drivers/char/Kconfig | 1 + xen/include/asm-riscv/config.h | 47 +++++++++++++++++++++++++ 13 files changed, 149 insertions(+), 2 deletions(-) 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/configs/tiny64_defconfig create mode 100644 xen/arch/riscv/riscv64/asm-offsets.c create mode 100644 xen/arch/riscv/riscv64/head.S create mode 100644 xen/include/asm-riscv/config.h -- 2.31.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |