From d4703ddafd1e05b8ec8f3fc8f4fbb4f88789a5ea Mon Sep 17 00:00:00 2001 From: Deepa Dinamani Date: Tue, 13 Mar 2018 21:03:27 -0700 Subject: time: Introduce CONFIG_64BIT_TIME in architectures There are a total of 53 system calls (aside from ioctl) that pass a time_t or derived data structure as an argument, and in order to extend time_t to 64-bit, we have to replace them with new system calls and keep providing backwards compatibility. To avoid adding completely new and untested code for this purpose, we introduce a new CONFIG_64BIT_TIME symbol. Every architecture that supports new 64 bit time_t syscalls enables this config. After this is done for all architectures, the CONFIG_64BIT_TIME symbol will be deleted. Signed-off-by: Arnd Bergmann Signed-off-by: Deepa Dinamani Signed-off-by: Arnd Bergmann --- arch/Kconfig | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'arch/Kconfig') diff --git a/arch/Kconfig b/arch/Kconfig index 8e0d665c8d53..16e6acfe8711 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -870,6 +870,14 @@ config OLD_SIGACTION config COMPAT_OLD_SIGACTION bool +config 64BIT_TIME + def_bool ARCH_HAS_64BIT_TIME + help + This should be selected by all architectures that need to support + new system calls with a 64-bit time_t. This is relevant on all 32-bit + architectures, and 64-bit architectures as part of compat syscall + handling. + config ARCH_NO_COHERENT_DMA_MMAP bool -- cgit v1.2.3-59-g8ed1b From 17435e5f8cf3ba8b3df1aa662f9921f0ccdd8a28 Mon Sep 17 00:00:00 2001 From: Deepa Dinamani Date: Tue, 13 Mar 2018 21:03:28 -0700 Subject: time: Introduce CONFIG_COMPAT_32BIT_TIME Compat functions are now used to support 32 bit time_t in compat mode on 64 bit architectures and in native mode on 32 bit architectures. Introduce COMPAT_32BIT_TIME to conditionally compile these functions. Note that turning off 32 bit time_t support requires more changes on architecture side. For instance, architecure syscall tables need to be updated to drop support for 32 bit time_t syscalls. Signed-off-by: Deepa Dinamani Signed-off-by: Arnd Bergmann --- arch/Kconfig | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'arch/Kconfig') diff --git a/arch/Kconfig b/arch/Kconfig index 16e6acfe8711..4377b0cec976 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -878,6 +878,13 @@ config 64BIT_TIME architectures, and 64-bit architectures as part of compat syscall handling. +config COMPAT_32BIT_TIME + def_bool (!64BIT && 64BIT_TIME) || COMPAT + help + This enables 32 bit time_t support in addition to 64 bit time_t support. + This is relevant on all 32-bit architectures, and 64-bit architectures + as part of compat syscall handling. + config ARCH_NO_COHERENT_DMA_MMAP bool -- cgit v1.2.3-59-g8ed1b