From f64b525f4f654ef0f41f45c3af2d6ee1ffcc8b63 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 6 Jan 2025 00:47:10 +0100 Subject: target: linux: config: Set COMPAT_32BIT_TIME on 32bit architectures Without it, on these architectures 'lvm pvscan' will busy-loop printing: | io_getevents failed: No such file or directory The symbol is defined in kernel's arch/Kconfig with 'default !64BIT || COMPAT'. Introduce Config.in.compat which has the symbol default to y unless a known 64bit ADK_TARGET_ARCH is enabled. Drop the symbol from all target/*/kernel/* for which the default applies. On 64bit systems, enabling this symbol is probably useful to provide comaptibility towards 32bit user space. Not sure if this is a possible choice in OpenADK, but just in case the symbol was not removed from: - target/aarch64/kernel/raspberry-pi4-64 - target/mips64/kernel/qemu-mips64 - target/riscv64/kernel/qemu-riscv64 Another case is targets explicitly having the symbol disabled, namely kvx. Given that the two kernel configs in question are full copies of the kernel-generated one, they are likely not a deliberate choice and thus removed as well. Signed-off-by: Phil Sutter --- target/linux/Config.in | 1 + target/linux/config/Config.in.compat | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 target/linux/config/Config.in.compat (limited to 'target/linux') diff --git a/target/linux/Config.in b/target/linux/Config.in index 42e4efcbb..fb9d1810e 100644 --- a/target/linux/Config.in +++ b/target/linux/Config.in @@ -28,3 +28,4 @@ source target/linux/config/Config.in.pm source target/linux/config/Config.in.kvm source target/linux/config/Config.in.virtio source target/linux/config/Config.in.debug +source target/linux/config/Config.in.compat diff --git a/target/linux/config/Config.in.compat b/target/linux/config/Config.in.compat new file mode 100644 index 000000000..f255088ab --- /dev/null +++ b/target/linux/config/Config.in.compat @@ -0,0 +1,13 @@ +config ADK_LINUX_KERNEL_COMPAT_32BIT_TIME + bool + default n if ADK_TARGET_ARCH_AARCH64 + default n if ADK_TARGET_ARCH_ALPHA + default n if ADK_TARGET_ARCH_IA64 + default n if ADK_TARGET_ARCH_LOONGARCH + default n if ADK_TARGET_ARCH_MIPS64 + default n if ADK_TARGET_ARCH_PPC64 + default n if ADK_TARGET_ARCH_RISCV64 + default n if ADK_TARGET_ARCH_S390 + default n if ADK_TARGET_ARCH_SPARC64 + default n if ADK_TARGET_ARCH_X86_64 + default y -- cgit v1.2.3