[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 0/5] Minimal build for RISCV
FWIW: for project EVE, the timing on this is perfect -- I've just started a complete RISC-V port: https://github.com/lf-edge/eve/pull/2083 Targeting KVM for now, but would be awesome to see at least some rudimentary RISC-V support land in Xen. Connor, I'll be merging your changes into my patchset on EVE side ASAP -- just to start playing with it. Thanks, Roman. On Fri, May 14, 2021 at 11:54 AM Connor Davis <connojdavis@xxxxxxxxx> wrote: > > 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 |