Message ID | 5a1b905601db481a1a625dafbbf9b28dbe12876c.1710517542.git.oleksii.kurochko@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Enable build of full Xen for RISC-V | expand |
On 15.03.2024 19:05, Oleksii Kurochko wrote: > --- a/xen/arch/riscv/configs/tiny64_defconfig > +++ b/xen/arch/riscv/configs/tiny64_defconfig > @@ -7,6 +7,23 @@ > # CONFIG_GRANT_TABLE is not set > # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set > # CONFIG_MEM_ACCESS is not set > +# CONFIG_ARGO is not set > +# CONFIG_HYPFS_CONFIG is not set What exactly is wrong with permitting this? > +# CONFIG_CORE_PARKING is not set At the example of this: It cannot be enabled by a user (or randconfig), it needs to be selected by an arch. Which RISC-V doesn't. Hence why specify (and not really override) the value here? This may apply to others as well, at the very least ... > +# CONFIG_DEBUG_TRACE is not set > +# CONFIG_IOREQ_SERVER is not set > +# CONFIG_CRASH_DEBUG is not setz > +# CONFIG_KEXEC is not set > +# CONFIG_LIVEPATCH is not set > +# CONFIG_NUMA is not set > +# CONFIG_PERF_COUNTERS is not set > +# CONFIG_HAS_PMAP is not set ... anything CONFIG_HAS_*. In summary - please limit overrides to what is minimally necessary. Jan > +# CONFIG_TRACEBUFFER is not set > +# CONFIG_XENOPROF is not set > +# CONFIG_COMPAT is not set > +# CONFIG_COVERAGE is not set > +# CONFIG_UBSAN is not set > +# CONFIG_NEEDS_LIBELF is not set > > CONFIG_RISCV_64=y > CONFIG_DEBUG=y
On Mon, 2024-03-18 at 08:54 +0100, Jan Beulich wrote: > On 15.03.2024 19:05, Oleksii Kurochko wrote: > > --- a/xen/arch/riscv/configs/tiny64_defconfig > > +++ b/xen/arch/riscv/configs/tiny64_defconfig > > @@ -7,6 +7,23 @@ > > # CONFIG_GRANT_TABLE is not set > > # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set > > # CONFIG_MEM_ACCESS is not set > > +# CONFIG_ARGO is not set > > +# CONFIG_HYPFS_CONFIG is not set > > What exactly is wrong with permitting this? Nothing wrong, I just chose the wrong approach about which configs should be disabled. Considering your comment below, I'll limit overrides to what is minimally necessary. ~ Oleksii > > > +# CONFIG_CORE_PARKING is not set > > At the example of this: It cannot be enabled by a user (or > randconfig), > it needs to be selected by an arch. Which RISC-V doesn't. Hence why > specify (and not really override) the value here? This may apply to > others as well, at the very least ... > > > +# CONFIG_DEBUG_TRACE is not set > > +# CONFIG_IOREQ_SERVER is not set > > +# CONFIG_CRASH_DEBUG is not setz > > +# CONFIG_KEXEC is not set > > +# CONFIG_LIVEPATCH is not set > > +# CONFIG_NUMA is not set > > +# CONFIG_PERF_COUNTERS is not set > > +# CONFIG_HAS_PMAP is not set > > ... anything CONFIG_HAS_*. > > In summary - please limit overrides to what is minimally necessary. > > Jan > > > +# CONFIG_TRACEBUFFER is not set > > +# CONFIG_XENOPROF is not set > > +# CONFIG_COMPAT is not set > > +# CONFIG_COVERAGE is not set > > +# CONFIG_UBSAN is not set > > +# CONFIG_NEEDS_LIBELF is not set > > > > CONFIG_RISCV_64=y > > CONFIG_DEBUG=y >
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index aac29ee13a..3b3d2c47dc 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -519,6 +519,30 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools: CONFIG_EXPERT=y CONFIG_GRANT_TABLE=n CONFIG_MEM_ACCESS=n + CONFIG_SCHED_CREDIT=n + CONFIG_SCHED_CREDIT2=n + CONFIG_SCHED_RTDS=n + CONFIG_SCHED_NULL=n + CONFIG_SCHED_ARINC653=n + CONFIG_TRACEBUFFER=n + CONFIG_HYPFS=n + CONFIG_SPECULATIVE_HARDEN_ARRAY=n + CONFIG_ARGO=n + CONFIG_HYPFS_CONFIG=n + CONFIG_CORE_PARKING=n + CONFIG_DEBUG_TRACE=n + CONFIG_IOREQ_SERVER=n + CONFIG_CRASH_DEBUG=n + CONFIG_KEXEC=n + CONFIG_LIVEPATCH=n + CONFIG_NUMA=n + CONFIG_PERF_COUNTERS=n + CONFIG_HAS_PMAP=n + CONFIG_XENOPROF=n + CONFIG_COMPAT=n + CONFIG_UBSAN=n + CONFIG_NEEDS_LIBELF=n + CONFIG_XSM=n archlinux-current-gcc-riscv64: extends: .gcc-riscv64-cross-build diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig index 09defe236b..35915255e6 100644 --- a/xen/arch/riscv/configs/tiny64_defconfig +++ b/xen/arch/riscv/configs/tiny64_defconfig @@ -7,6 +7,23 @@ # CONFIG_GRANT_TABLE is not set # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set # CONFIG_MEM_ACCESS is not set +# CONFIG_ARGO is not set +# CONFIG_HYPFS_CONFIG is not set +# CONFIG_CORE_PARKING is not set +# CONFIG_DEBUG_TRACE is not set +# CONFIG_IOREQ_SERVER is not set +# CONFIG_CRASH_DEBUG is not setz +# CONFIG_KEXEC is not set +# CONFIG_LIVEPATCH is not set +# CONFIG_NUMA is not set +# CONFIG_PERF_COUNTERS is not set +# CONFIG_HAS_PMAP is not set +# CONFIG_TRACEBUFFER is not set +# CONFIG_XENOPROF is not set +# CONFIG_COMPAT is not set +# CONFIG_COVERAGE is not set +# CONFIG_UBSAN is not set +# CONFIG_NEEDS_LIBELF is not set CONFIG_RISCV_64=y CONFIG_DEBUG=y
This patch disables unnecessary configs for two cases: 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds (GitLab CI jobs). 2. By using tiny64_defconfig for non-randconfig builds. Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com> --- Changes in V6: - Nothing changed. Only rebase. --- Changes in V5: - Rebase and drop duplicated configs in EXTRA_FIXED_RANDCONFIG list - Update the commit message --- Changes in V4: - Nothing changed. Only rebase --- Changes in V3: - Remove EXTRA_FIXED_RANDCONFIG for non-randconfig jobs. For non-randconfig jobs, it is sufficient to disable configs by using the defconfig. - Remove double blank lines in build.yaml file before archlinux-current-gcc-riscv64-debug --- Changes in V2: - update the commit message. - remove xen/arch/riscv/Kconfig changes. --- automation/gitlab-ci/build.yaml | 24 ++++++++++++++++++++++++ xen/arch/riscv/configs/tiny64_defconfig | 17 +++++++++++++++++ 2 files changed, 41 insertions(+)