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@gmail.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
[Fix up common/argo.c rather than inserting a transitive dependency]
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Oleksii Kurochko authored and Andrew Cooper committed 2024-05-31 01:20:28 +01:00
1 parent db04be9e7d
commit 1250c73c1a
4 files changed
+14 -7

No files matched your search

+4
View File
@@ -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
+5 -7
View File
@@ -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
+2
View File
@@ -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
+3
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.