[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 00/39] Enable build of full Xen for RISC-V
This patch series performs all of the additions necessary to drop the build overrides for RISCV and enable the full Xen build. Except in cases where compatibile implementations already exist (e.g. atomic.h and bitops.h), the newly added definitions are simple. The patch series is based on the following patch series: - [PATCH v2] xen: remove <asm/delay.h> [1] - [PATCH v3 00/14] Introduce generic headers [2] [1] https://lore.kernel.org/xen-devel/3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@xxxxxxxxx/ [2] https://lore.kernel.org/xen-devel/cover.1700221559.git.oleksii.kurochko@xxxxxxxxx/ --- Changes in V2: - Drop the following patches as they are the part of [2]: [PATCH v1 06/57] xen/riscv: introduce paging.h [PATCH v1 08/57] xen/riscv: introduce asm/device.h [PATCH v1 10/57] xen/riscv: introduce asm/grant_table.h [PATCH v1 12/57] xen/riscv: introduce asm/hypercall.h [PATCH v1 13/57] xen/riscv: introduce asm/iocap.h [PATCH v1 15/57] xen/riscv: introduce asm/mem_access.h [PATCH v1 18/57] xen/riscv: introduce asm/random.h [PATCH v1 21/57] xen/riscv: introduce asm/xenoprof.h [PATCH v1 24/57] xen/riscv: introduce asm/percpu.h [PATCH v1 29/57] xen/riscv: introduce asm/hardirq.h [PATCH v1 33/57] xen/riscv: introduce asm/altp2m.h [PATCH v1 38/57] xen/riscv: introduce asm/monitor.h [PATCH v1 39/57] xen/riscv: introduce asm/numa.h [PATCH v1 42/57] xen/riscv: introduce asm/softirq.h - xen/lib.h in most of the cases were changed to xen/bug.h as mostly functionilty of bug.h is used. - align arch-riscv.h with Arm's version of it. - change the Author of commit with introduction of asm/atomic.h. - update some definition from spinlock.h. - code style changes. --- Bobby Eshleman (1): xen/riscv: introduce asm/atomic.h Oleksii Kurochko (38): xen/riscv: disable unnecessary configs xen/riscv: use some asm-generic headers xen/riscv:introduce asm/byteorder.h xen/riscv: add public arch-riscv.h xen/riscv: introduce spinlock.h xen/riscv: introduce fence.h xen/riscv: introduce arch-riscv/hvm/save.h xen/riscv: introduce asm/cpufeature.h xen/riscv: introduce asm/guest_atomics.h xen/riscv: introduce asm/iommu.h xen/riscv: introduce asm/nospec.h xen/riscv: introduce asm/setup.h xen/riscv: introduce asm/system.h xen/riscv: introduce bitops.h xen/riscv: introduce flushtlb.h xen/riscv: introduce asm/smp.h xen/riscv: introduce cmpxchg.h xen/riscv: introduce asm/io.h xen/riscv: define bug frame tables in xen.lds.S xen/riscv: introduce bit operations xen/riscv: introduce asm/domain.h xen/riscv: introduce asm/guest_access.h xen/riscv: introduce asm/irq.h xen/riscv: introduce asm/p2m.h xen/riscv: introduce asm/regs.h xen/riscv: introduce asm/time.h xen/riscv: introduce asm/event.h xen/riscv: add definition of __read_mostly xen/riscv: define an address of frame table xen/riscv: add required things to asm/current.h xen/riscv: add minimal stuff to asm/page.h to build full Xen xen/riscv: add minimal stuff to asm/processor.h to build full Xen xen: add RISCV support for pmu.h xen: add necessary headers to common to build full Xen for RISC-V xen/riscv: add minimal stuff to asm/mm.h to build full Xen xen/rirscv: add minimal amount of stubs to build full Xen xen/riscv: enable full Xen build xen: fix compilation issue of serial.c automation/gitlab-ci/build.yaml | 122 ++++++ automation/scripts/build | 4 +- xen/arch/riscv/Makefile | 18 +- xen/arch/riscv/arch.mk | 4 - xen/arch/riscv/configs/tiny64_defconfig | 19 +- xen/arch/riscv/early_printk.c | 168 -------- xen/arch/riscv/include/asm/Makefile | 14 + xen/arch/riscv/include/asm/atomic.h | 375 ++++++++++++++++++ xen/arch/riscv/include/asm/bitops.h | 288 ++++++++++++++ xen/arch/riscv/include/asm/byteorder.h | 16 + xen/arch/riscv/include/asm/cache.h | 2 + xen/arch/riscv/include/asm/cmpxchg.h | 379 ++++++++++++++++++ xen/arch/riscv/include/asm/config.h | 21 + xen/arch/riscv/include/asm/cpufeature.h | 22 ++ xen/arch/riscv/include/asm/current.h | 20 + xen/arch/riscv/include/asm/domain.h | 43 +++ xen/arch/riscv/include/asm/event.h | 34 ++ xen/arch/riscv/include/asm/fence.h | 12 + xen/arch/riscv/include/asm/flushtlb.h | 31 ++ xen/arch/riscv/include/asm/guest_access.h | 29 ++ xen/arch/riscv/include/asm/guest_atomics.h | 48 +++ xen/arch/riscv/include/asm/io.h | 134 +++++++ xen/arch/riscv/include/asm/iommu.h | 7 + xen/arch/riscv/include/asm/irq.h | 37 ++ xen/arch/riscv/include/asm/mm.h | 270 ++++++++++++- xen/arch/riscv/include/asm/nospec.h | 25 ++ xen/arch/riscv/include/asm/p2m.h | 105 +++++ xen/arch/riscv/include/asm/page.h | 21 + xen/arch/riscv/include/asm/processor.h | 15 + xen/arch/riscv/include/asm/regs.h | 26 ++ xen/arch/riscv/include/asm/setup.h | 6 + xen/arch/riscv/include/asm/smp.h | 23 ++ xen/arch/riscv/include/asm/spinlock.h | 15 + xen/arch/riscv/include/asm/system.h | 79 ++++ xen/arch/riscv/include/asm/time.h | 19 + xen/arch/riscv/lib/Makefile | 1 + xen/arch/riscv/lib/find_next_bit.c | 278 ++++++++++++++ xen/arch/riscv/mm.c | 52 ++- xen/arch/riscv/setup.c | 9 +- xen/arch/riscv/stubs.c | 426 +++++++++++++++++++++ xen/arch/riscv/traps.c | 25 ++ xen/arch/riscv/xen.lds.S | 10 + xen/drivers/char/serial.c | 2 + xen/include/public/arch-riscv.h | 93 +++++ xen/include/public/arch-riscv/hvm/save.h | 20 + xen/include/public/hvm/save.h | 2 + xen/include/public/pmu.h | 2 + xen/include/public/xen.h | 2 + xen/include/xen/domain.h | 1 + 49 files changed, 3194 insertions(+), 180 deletions(-) create mode 100644 xen/arch/riscv/include/asm/Makefile create mode 100644 xen/arch/riscv/include/asm/atomic.h create mode 100644 xen/arch/riscv/include/asm/bitops.h create mode 100644 xen/arch/riscv/include/asm/byteorder.h create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h create mode 100644 xen/arch/riscv/include/asm/cpufeature.h create mode 100644 xen/arch/riscv/include/asm/domain.h create mode 100644 xen/arch/riscv/include/asm/event.h create mode 100644 xen/arch/riscv/include/asm/fence.h create mode 100644 xen/arch/riscv/include/asm/flushtlb.h create mode 100644 xen/arch/riscv/include/asm/guest_access.h create mode 100644 xen/arch/riscv/include/asm/guest_atomics.h create mode 100644 xen/arch/riscv/include/asm/io.h create mode 100644 xen/arch/riscv/include/asm/iommu.h create mode 100644 xen/arch/riscv/include/asm/irq.h create mode 100644 xen/arch/riscv/include/asm/nospec.h create mode 100644 xen/arch/riscv/include/asm/p2m.h create mode 100644 xen/arch/riscv/include/asm/regs.h create mode 100644 xen/arch/riscv/include/asm/setup.h create mode 100644 xen/arch/riscv/include/asm/smp.h create mode 100644 xen/arch/riscv/include/asm/spinlock.h create mode 100644 xen/arch/riscv/include/asm/system.h create mode 100644 xen/arch/riscv/include/asm/time.h create mode 100644 xen/arch/riscv/lib/Makefile create mode 100644 xen/arch/riscv/lib/find_next_bit.c create mode 100644 xen/arch/riscv/stubs.c create mode 100644 xen/include/public/arch-riscv.h create mode 100644 xen/include/public/arch-riscv/hvm/save.h -- 2.42.0
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |