Some headers are common between several architectures, so the current patch series
provide them.
Another one reason to have them as generic is a simplification of adding support
necessary to make a complete Xen build as it was/is being done in the patch series [1]
and [2].
Also, instead of providing generic/stub headers, it was used
"#ifdef CONFIG_* #include <asm/*.h> #endif" instead of providing empty headers.
This patch series is a pre-requisite for "Enable build of full Xen for RISC-V" [3].
[1] https://lore.kernel.org/xen-devel/cover.1694543103.git.sanastasio@raptorengineering.com/
[2] https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/
[3] https://lore.kernel.org/xen-devel/cover.1700761381.git.oleksii.kurochko@gmail.com/
---
Changes in V6:
- Fix the build script to work properly with EXTRA_FIXED_RANDCONFIG.
- Introduce separate randconfig yaml with fixed configs for RISC-V.
- Disable CONFIG_GRANT_TABLE and CONFIG_MEM_ACCESS for PPC and RISC-V.
- Remove change in Kconfig/common for CONFIG_GRANT_TABLE and CONFIG_MEM_ACCESS.
- Rebase on top of the latest staging.
---
Changes in V5:
- Update the patch series message as patch related to delay.h was merged.
- Rebase on top of staging because half of the patches of the patch series were
merged to staging branch.
- Add A-by for some of the patches.
- Add "depends on X86 || Arm" for CONFIG_GRANT_TABLE and CONFIG_MEM_ACCESS to be
sure it won't be turned on by randconfig in CI.
- Partly switch Arm and PPC to asm-generic/monitor.h.
- Some other minor changes
---
Changes in V4:
- Update the cover letter message
- Add Reviewed-by/Acked-by for patches:
[PATCH v3 01/14] xen/asm-generic: introduce stub header paging.h
[PATCH v3 03/14] xen/asm-generic: introduce generic hypercall.h
[PATCH v3 04/14] xen/asm-generic: introduce generic header iocap.h
[PATCH v3 05/14] xen/asm-generic: introduce stub header <asm/random.h>
[PATCH v3 06/14] xen/asm-generic: introduce generic header percpu.h
[PATCH v3 07/14] xen/asm-generic: introduce generalized hardirq.h
[PATCH v3 08/14] xen/asm-generic: introduce generic div64.h header
[PATCH v3 09/14] xen/asm-generic: introduce generic header altp2m.h
[PATCH v3 10/14] xen/asm-generic: introduce stub header monitor.h
[PATCH v3 11/14] xen/asm-generic: introduce stub header numa.h
[PATCH v3 12/14] xen/asm-generic: introduce stub header softirq.h
- Fix some code style and minor issues.
- Use asm-generic version of device.h for Arm and PPC.
---
Changes in V3:
- Update the commit message of the cover letter.
- Drop the following patch as it can be arch-specific enough:
* [PATCH v2 09/15] xen/asm-generic: introduce generic header smp.h
- Drop correspondent arch specific headers and use asm-generic version of
a header.
- Back to the patch series patches:
* xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
* xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
---
Changes in V2:
- Update the commit message of the cover letter.
- Drop the following patches because they are arch-specific or was sent as a separate patch:
- xen/asm-generic: introduce stub header event.h
- xen/asm-generic: introduce stub header spinlock.h
- [PATCH v1 03/29] xen/asm-generic: introduce stub header cpufeature.h
- [PATCH v1 07/29] xen/asm-generic: introduce stub header guest_atomics.h
- [PATCH v1 10/29] xen/asm-generic: introduce stub header iommu.h
- [PATCH v1 12/29] xen/asm-generic: introduce stub header pci.h because separate patch was sent [5]
- [PATCH v1 14/29] xen/asm-generic: introduce stub header setup.h
- [PATCH v1 15/29] xen/asm-generic: introduce stub header xenoprof.h because of [3].
- [PATCH v1 16/29] xen/asm-generic: introduce stub header flushtlb.h
- [PATCH v1 22/29] xen/asm-generic: introduce stub header delay.h because of [3]
- [PATCH v1 23/29] xen/asm-generic: introduce stub header domain.h
- [PATCH v1 24/29] xen/asm-generic: introduce stub header guest_access.h
- [PATCH v1 25/29] xen/asm-generic: introduce stub header irq.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
- [PATCH v1 28/29] xen/asm-generic: introduce stub header p2m.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
- For the rest of the patches please look at changes for each patch separately.
---
Oleksii Kurochko (9):
automation: ensure values in EXTRA_FIXED_RANDCONFIG are separated by
new line
automation: introduce fixed randconfig for RISC-V
xen/asm-generic: introduce generic div64.h header
xen/asm-generic: introduce stub header monitor.h
xen/asm-generic: introduce stub header numa.h
xen/asm-generic: introduce stub header softirq.h
xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
xen/asm-generic: introduce generic device.h
automation/gitlab-ci/build.yaml | 8 +-
.../gitlab-ci/riscv-fixed-randconfig.yaml | 7 +
automation/scripts/build | 6 +-
xen/arch/arm/device.c | 15 ++-
xen/arch/arm/domain_build.c | 3 +-
xen/arch/arm/gic-v2.c | 4 +-
xen/arch/arm/gic-v3.c | 6 +-
xen/arch/arm/gic.c | 4 +-
xen/arch/arm/include/asm/Makefile | 3 +
xen/arch/arm/include/asm/div64.h | 8 +-
xen/arch/arm/include/asm/monitor.h | 28 +---
xen/arch/arm/p2m.c | 1 +
xen/arch/arm/traps.c | 1 +
xen/arch/ppc/configs/ppc64_defconfig | 1 +
xen/arch/ppc/include/asm/Makefile | 4 +
xen/arch/ppc/include/asm/device.h | 53 --------
xen/arch/ppc/include/asm/div64.h | 14 --
xen/arch/ppc/include/asm/grant_table.h | 5 -
xen/arch/ppc/include/asm/mem_access.h | 5 -
xen/arch/ppc/include/asm/monitor.h | 28 +---
xen/arch/ppc/include/asm/numa.h | 26 ----
xen/arch/ppc/include/asm/softirq.h | 8 --
xen/arch/riscv/configs/tiny64_defconfig | 1 +
xen/arch/x86/include/asm/Makefile | 1 +
xen/arch/x86/include/asm/div64.h | 14 --
.../asm => include/asm-generic}/device.h | 125 +++++++++++-------
xen/include/asm-generic/div64.h | 27 ++++
xen/include/asm-generic/monitor.h | 57 ++++++++
.../asm => include/asm-generic}/numa.h | 16 ++-
.../asm => include/asm-generic}/softirq.h | 7 +-
xen/include/xen/grant_table.h | 3 +
xen/include/xen/mem_access.h | 2 +
32 files changed, 234 insertions(+), 257 deletions(-)
create mode 100644 automation/gitlab-ci/riscv-fixed-randconfig.yaml
delete mode 100644 xen/arch/ppc/include/asm/device.h
delete mode 100644 xen/arch/ppc/include/asm/div64.h
delete mode 100644 xen/arch/ppc/include/asm/grant_table.h
delete mode 100644 xen/arch/ppc/include/asm/mem_access.h
delete mode 100644 xen/arch/ppc/include/asm/numa.h
delete mode 100644 xen/arch/ppc/include/asm/softirq.h
delete mode 100644 xen/arch/x86/include/asm/div64.h
rename xen/{arch/arm/include/asm => include/asm-generic}/device.h (79%)
create mode 100644 xen/include/asm-generic/div64.h
create mode 100644 xen/include/asm-generic/monitor.h
rename xen/{arch/arm/include/asm => include/asm-generic}/numa.h (67%)
rename xen/{arch/arm/include/asm => include/asm-generic}/softirq.h (56%)
--
2.43.0