summaryrefslogtreecommitdiff
path: root/target/linux
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2025-01-06 00:47:10 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2025-01-07 10:37:12 +0100
commitf64b525f4f654ef0f41f45c3af2d6ee1ffcc8b63 (patch)
tree2d57bd0c54b40cc1866d04d4eebe86069a79079d /target/linux
parentbe735c88debdd1e3207af9c403e3c594798a3944 (diff)
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 <phil@nwl.cc>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/Config.in1
-rw-r--r--target/linux/config/Config.in.compat13
2 files changed, 14 insertions, 0 deletions
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