[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] xen/riscv: Update Kconfig in preparation for a full Xen build



commit 1250c73c1ae2eec0308b4efe3e345127e9dbdb2b
Author:     Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
AuthorDate: Wed May 29 21:55:02 2024 +0200
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Fri May 31 01:20:28 2024 +0100

    xen/riscv: Update Kconfig in preparation for a full Xen build
    
    Disable 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.
    
    Only configs which lead to compilation issues were disabled.
    
    Remove lines related to disablement of configs which aren't affected
    compilation:
     -# CONFIG_SCHED_CREDIT is not set
     -# CONFIG_SCHED_RTDS is not set
     -# CONFIG_SCHED_NULL is not set
     -# CONFIG_SCHED_ARINC653 is not set
     -# CONFIG_TRACEBUFFER is not set
     -# CONFIG_HYPFS is not set
     -# CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
    
    Update argo.c to include asm/p2m.h directly, rather than on a transitive
    dependency through asm/domain.h Update asm/p2m.h to include xen/errno.h,
    rather than rely on it having included already.
    
    CONFIG_XSM=n as it requires an introduction of:
    * boot_module_find_by_kind()
    * BOOTMOD_XSM
    * struct bootmodule
    * copy_from_paddr()
    The mentioned things aren't introduced now.
    
    CONFIG_BOOT_TIME_CPUPOOLS requires an introduction of cpu_physical_id() and
    acpi_disabled, so it is disabled for now.
    
    PERF_COUNTERS requires asm/perf.h and asm/perfc-defn.h, so it is
    also disabled for now, as RISC-V hasn't introduced this headers yet.
    
    LIVEPATCH isn't ready for RISC-V too and it can be overriden by randconfig,
    so to avoid compilation errors for randconfig it is disabled for now.
    
    Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    [Fix up common/argo.c rather than inserting a transitive dependency]
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 automation/gitlab-ci/build.yaml         |  4 ++++
 xen/arch/riscv/configs/tiny64_defconfig | 12 +++++-------
 xen/arch/riscv/include/asm/p2m.h        |  2 ++
 xen/common/argo.c                       |  3 +++
 4 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 49d6265ad5..ff5c9055d1 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -494,10 +494,14 @@ alpine-3.18-gcc-debug-arm64-earlyprintk:
 .riscv-fixed-randconfig:
   variables: &riscv-fixed-randconfig
     EXTRA_FIXED_RANDCONFIG: |
+      CONFIG_BOOT_TIME_CPUPOOLS=n
       CONFIG_COVERAGE=n
       CONFIG_EXPERT=y
       CONFIG_GRANT_TABLE=n
       CONFIG_MEM_ACCESS=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_LIVEPATCH=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..fc7a04872f 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -1,12 +1,10 @@
-# CONFIG_SCHED_CREDIT is not set
-# CONFIG_SCHED_RTDS is not set
-# CONFIG_SCHED_NULL is not set
-# CONFIG_SCHED_ARINC653 is not set
-# CONFIG_TRACEBUFFER is not set
-# CONFIG_HYPFS is not set
+# CONFIG_BOOT_TIME_CPUPOOLS is not set
 # CONFIG_GRANT_TABLE is not set
-# CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
 # CONFIG_MEM_ACCESS is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_LIVEPATCH is not set
+# CONFIG_XSM is not set
 
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 387f372b5d..26860c0ae7 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -2,6 +2,8 @@
 #ifndef __ASM_RISCV_P2M_H__
 #define __ASM_RISCV_P2M_H__
 
+#include <xen/errno.h>
+
 #include <asm/page-bits.h>
 
 #define paddr_bits PADDR_BITS
diff --git a/xen/common/argo.c b/xen/common/argo.c
index da3d3f325f..901f41eb2d 100644
--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -26,8 +26,11 @@
 #include <xen/param.h>
 #include <xen/sched.h>
 #include <xen/time.h>
+
 #include <xsm/xsm.h>
 
+#include <asm/p2m.h>
+
 #include <public/argo.h>
 
 #ifdef CONFIG_COMPAT
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.