!sched/clock: remove CONFIG_SYSTEM_TIME64 and always use 64-bit time

The 32-bit system clock has a limited range (~497 days) and the
configuration knob is no longer worth the complexity given that
practically every modern target already enables it.  Make 64-bit
time_t/clock_t/sclock_t/nuttx_time_t the only supported flavor.

Specifically:
  - Drop the SYSTEM_TIME64 Kconfig option and its dependent
    PERF_OVERFLOW_CORRECTION/HRTIMER guards in sched/Kconfig.
  - Remove every #ifdef CONFIG_SYSTEM_TIME64 branch in headers
    (include/{sys/types.h,limits.h,inttypes.h,nuttx/clock.h,
    nuttx/fs/hostfs.h}) and core code paths
    (sched/clock/clock.h, drivers/power/pm/pm_procfs.c,
    drivers/rpmsg/rpmsg_ping.c, fs/procfs/fs_procfsuptime.c,
    libs/libc/wqueue/work_usrthread.c,
    arch/avr/src/avrdx/avrdx_timerisr_tickless_alarm.c).
  - Strip CONFIG_SYSTEM_TIME64=y from every board defconfig.
  - Update Documentation/guides/rust.rst accordingly.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao
2026-05-03 15:54:17 +08:00
committed by Xiang Xiao
parent 1b3af76bf3
commit c6654b1106
187 changed files with 147 additions and 338 deletions
@@ -65,8 +65,8 @@ static void set_mic_boot_time(void)
{
struct timespec start;
clock_systime_timespec(&start);
g_mic_boot_start_time = (uint64_t)start.tv_sec * 1000 +
(uint64_t)start.tv_nsec / 1000000;
g_mic_boot_start_time = start.tv_sec * 1000 +
start.tv_nsec / 1000000;
}
static void wait_mic_boot_finish(void)
@@ -75,9 +75,9 @@ static void wait_mic_boot_finish(void)
{
struct timespec end;
clock_systime_timespec(&end);
uint64_t time = (uint64_t)end.tv_sec * 1000 +
(uint64_t)end.tv_nsec / 1000000 -
g_mic_boot_start_time;
uint64_t time = end.tv_sec * 1000 +
end.tv_nsec / 1000000 -
g_mic_boot_start_time;
if (time < CXD56_AUDIO_MIC_BOOT_WAIT)
{
@@ -52,7 +52,6 @@ CONFIG_SYSLOG_PROCESSID=y
CONFIG_SYSLOG_PROCESS_NAME=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TESTING_GETPRIME=y
CONFIG_TESTING_OSTEST=y
CONFIG_UART0_BASE=0x9c090000
@@ -113,7 +113,6 @@ CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NXPLAYER=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TASKSET=y
CONFIG_SYSTEM_TIME64=y
CONFIG_SYSTEM_USBMSC=y
CONFIG_SYSTEM_USBMSC_DEVMINOR1=0
CONFIG_SYSTEM_USBMSC_DEVMINOR2=1
@@ -137,7 +137,6 @@ CONFIG_SYSTEM_NXPLAYER=y
CONFIG_SYSTEM_PING=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TASKSET=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=24
CONFIG_TESTING_GETPRIME=y
CONFIG_TESTING_OSTEST=y
@@ -103,7 +103,6 @@ CONFIG_START_MONTH=10
CONFIG_START_YEAR=2013
CONFIG_SYSTEM_I2CTOOL=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=24
CONFIG_UART0_RXBUFSIZE=512
CONFIG_UART0_SERIAL_CONSOLE=y
@@ -39,7 +39,6 @@ CONFIG_START_DAY=3
CONFIG_START_MONTH=10
CONFIG_START_YEAR=2013
CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TESTING_OSTEST=y
CONFIG_TESTING_OSTEST_NBARRIER_THREADS=3
CONFIG_TESTING_OSTEST_STACKSIZE=2048
@@ -161,7 +161,6 @@ CONFIG_SYSTEM_I2CTOOL=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NXPLAYER=y
CONFIG_SYSTEM_PING=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=24
CONFIG_TESTING_OSTEST=y
CONFIG_UART0_RXBUFSIZE=512
@@ -106,7 +106,6 @@ CONFIG_START_MONTH=10
CONFIG_START_YEAR=2013
CONFIG_SYSTEM_I2CTOOL=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=24
CONFIG_TESTING_OSTEST=y
CONFIG_TESTING_SMP=y
@@ -161,7 +161,6 @@ CONFIG_SYSTEM_NXPLAYER=y
CONFIG_SYSTEM_PING=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TASKSET=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=24
CONFIG_TESTING_GETPRIME=y
CONFIG_TESTING_OSTEST=y
@@ -109,7 +109,6 @@ CONFIG_SYSTEM_I2CTOOL=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TASKSET=y
CONFIG_SYSTEM_TIME64=y
CONFIG_SYSTEM_USBMSC=y
CONFIG_SYSTEM_USBMSC_DEVMINOR1=0
CONFIG_SYSTEM_USBMSC_DEVMINOR2=1
@@ -466,7 +466,7 @@ static int smps_start(struct smps_dev_s *dev)
{
pwrerr("ERROR: Can not achieve timc pwm "
"freq=%" PRIu32 " if fclk=%" PRIu64 "\n",
(uint32_t)TIMC_PWM_FREQ, (uint64_t)fclk);
(uint32_t)TIMC_PWM_FREQ, fclk);
ret = -EINVAL;
goto errout;
}
@@ -483,7 +483,7 @@ static int smps_start(struct smps_dev_s *dev)
{
pwrerr("ERROR: Can not achieve timd pwm "
"freq=%" PRIu32 " if fclk=%" PRIu64 "\n",
(uint32_t)TIMD_PWM_FREQ, (uint64_t)fclk);
(uint32_t)TIMD_PWM_FREQ, fclk);
ret = -EINVAL;
goto errout;
}
@@ -50,6 +50,5 @@ CONFIG_STM32_JTAG_SW_ENABLE=y
CONFIG_STM32_PWR=y
CONFIG_STM32_USART2=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=0
CONFIG_USART2_SERIAL_CONSOLE=y
@@ -92,7 +92,6 @@ CONFIG_STM32_TIM3_PARTIAL_REMAP=y
CONFIG_STM32_USART1=y
CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=12
CONFIG_USART1_RXBUFSIZE=32
CONFIG_USART1_SERIAL_CONSOLE=y
@@ -116,7 +116,6 @@ CONFIG_STM32_USB=y
CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_SYSTEM_COMPOSITE=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=12
CONFIG_USART1_RXBUFSIZE=32
CONFIG_USART1_SERIAL_CONSOLE=y
@@ -104,7 +104,6 @@ CONFIG_STM32_USART1=y
CONFIG_STM32_USART2=y
CONFIG_SYMTAB_ORDEREDBYNAME=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_TIME64=y
CONFIG_TASK_NAME_SIZE=12
CONFIG_USART1_RXBUFSIZE=32
CONFIG_USART1_SERIAL_CONSOLE=y
@@ -447,7 +447,7 @@ static int smps_start(struct smps_dev_s *dev)
{
pwrerr("ERROR: Can not achieve tima pwm "
"freq=%" PRIu32 " if fclk=%" PRIu64 "\n",
(uint32_t)TIMA_PWM_FREQ, (uint64_t)fclk);
(uint32_t)TIMA_PWM_FREQ, fclk);
ret = -EINVAL;
goto errout;
}
@@ -464,7 +464,7 @@ static int smps_start(struct smps_dev_s *dev)
{
pwrerr("ERROR: Can not achieve timb pwm "
"freq=%" PRIu32 " if fclk=%" PRIu64 "\n",
(uint32_t)TIMB_PWM_FREQ, (uint64_t)fclk);
(uint32_t)TIMB_PWM_FREQ, fclk);
ret = -EINVAL;
goto errout;
}
@@ -47,7 +47,6 @@ CONFIG_STM32_PWR=y
CONFIG_STM32_SPI1=y
CONFIG_STM32_USART2=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_TIME64=y
CONFIG_USART2_RXBUFSIZE=128
CONFIG_USART2_SERIAL_CONSOLE=y
CONFIG_USART2_TXBUFSIZE=128