Skip to content

Commit eb3b66a

Browse files
t-8chKAGA-KOKO
authored andcommitted
riscv: vdso: Untangle Kconfig logic
On riscv32 the generic vDSO infrastructure is used but without its time-related functionality. The Kconfig logic to implement this treats HAVE_GENERIC_VDSO as a synonym for GENERIC_GETTIMEOFDAY. This works today due to some underlying issues in how the generic vDSO library works. Some future cleanups will break this logic. Restructure the Kconfig logic, so HAVE_GENERIC_VDSO refers to the generic library in general and GENERIC_GETTIMEOFDAY refers to its time-related functionality. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250826-vdso-cleanups-v1-6-d9b65750e49f@linutronix.de
1 parent ea1a1fa commit eb3b66a

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

arch/riscv/Kconfig

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ config RISCV
5252
select ARCH_HAS_SYSCALL_WRAPPER
5353
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
5454
select ARCH_HAS_UBSAN
55-
select ARCH_HAS_VDSO_ARCH_DATA if GENERIC_VDSO_DATA_STORE
55+
select ARCH_HAS_VDSO_ARCH_DATA if HAVE_GENERIC_VDSO
5656
select ARCH_KEEP_MEMBLOCK if ACPI
5757
select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU
5858
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
@@ -107,7 +107,7 @@ config RISCV
107107
select GENERIC_CPU_VULNERABILITIES
108108
select GENERIC_EARLY_IOREMAP
109109
select GENERIC_ENTRY
110-
select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO
110+
select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO && 64BIT
111111
select GENERIC_IDLE_POLL_SETUP
112112
select GENERIC_IOREMAP if MMU
113113
select GENERIC_IRQ_IPI if SMP
@@ -120,9 +120,9 @@ config RISCV
120120
select GENERIC_PCI_IOMAP
121121
select GENERIC_SCHED_CLOCK
122122
select GENERIC_SMP_IDLE_THREAD
123-
select GENERIC_TIME_VSYSCALL if MMU && 64BIT
124-
select GENERIC_VDSO_DATA_STORE if MMU
125-
select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO
123+
select GENERIC_TIME_VSYSCALL if GENERIC_GETTIMEOFDAY
124+
select GENERIC_VDSO_DATA_STORE if HAVE_GENERIC_VDSO
125+
select GENERIC_VDSO_TIME_NS if GENERIC_GETTIMEOFDAY
126126
select HARDIRQS_SW_RESEND
127127
select HAS_IOPORT if MMU
128128
select HAVE_ALIGNED_STRUCT_PAGE
@@ -165,7 +165,7 @@ config RISCV
165165
select HAVE_FUNCTION_ARG_ACCESS_API
166166
select HAVE_FUNCTION_ERROR_INJECTION
167167
select HAVE_GCC_PLUGINS
168-
select HAVE_GENERIC_VDSO if MMU && 64BIT
168+
select HAVE_GENERIC_VDSO if MMU
169169
select HAVE_IRQ_TIME_ACCOUNTING
170170
select HAVE_KERNEL_BZIP2 if !XIP_KERNEL && !EFI_ZBOOT
171171
select HAVE_KERNEL_GZIP if !XIP_KERNEL && !EFI_ZBOOT
@@ -221,7 +221,7 @@ config RISCV
221221
select THREAD_INFO_IN_TASK
222222
select TRACE_IRQFLAGS_SUPPORT
223223
select UACCESS_MEMCPY if !MMU
224-
select VDSO_GETRANDOM if HAVE_GENERIC_VDSO
224+
select VDSO_GETRANDOM if HAVE_GENERIC_VDSO && 64BIT
225225
select USER_STACKTRACE_SUPPORT
226226
select ZONE_DMA32 if 64BIT
227227

0 commit comments

Comments
 (0)