kernel: Use uint64 for seconds in datetime conversion routines.

This commit is contained in:
Augustin Cavalier
2026-03-16 08:35:51 -04:00
parent b249bfc563
commit 913f501fbd
17 changed files with 38 additions and 38 deletions
@@ -50,7 +50,7 @@ public:
// mimic the PC CMOS
virtual uint8 ReadRTCReg(uint8 reg) = 0;
virtual void WriteRTCReg(uint8 reg, uint8 val) = 0;
virtual void SetHardwareRTC(uint32 seconds) = 0;
virtual void SetHardwareRTC(uint64 seconds) = 0;
virtual uint32 GetHardwareRTC() = 0;
virtual void SetHardwareTimer(bigtime_t timeout) = 0;
@@ -35,7 +35,7 @@ public:
virtual char SerialDebugGetChar() = 0;
virtual void SerialDebugPutChar(char c) = 0;
virtual void SetHardwareRTC(uint32 seconds) = 0;
virtual void SetHardwareRTC(uint64 seconds) = 0;
virtual uint32 GetHardwareRTC() = 0;
virtual void ShutDown(bool reboot) = 0;
@@ -34,7 +34,7 @@ public:
virtual char SerialDebugGetChar() = 0;
virtual void SerialDebugPutChar(char c) = 0;
virtual void SetHardwareRTC(uint32 seconds) = 0;
virtual void SetHardwareRTC(uint64 seconds) = 0;
virtual uint32 GetHardwareRTC() = 0;
virtual void ShutDown(bool reboot) = 0;
@@ -20,9 +20,9 @@ extern "C" {
status_t arch_rtc_init(struct kernel_args *args, struct real_time_data *data);
void arch_rtc_set_hw_time(uint32 seconds);
void arch_rtc_set_hw_time(uint64 seconds);
// Set HW clock to 'seconds' since 1/1/1970
uint32 arch_rtc_get_hw_time(void);
uint64 arch_rtc_get_hw_time(void);
// Returns number of seconds since 1/1/1970 as stored in HW
void arch_rtc_set_system_time_offset(struct real_time_data *data,
@@ -33,7 +33,7 @@ public:
virtual char SerialDebugGetChar() = 0;
virtual void SerialDebugPutChar(char c) = 0;
virtual void SetHardwareRTC(uint32 seconds) = 0;
virtual void SetHardwareRTC(uint64 seconds) = 0;
virtual uint32 GetHardwareRTC() = 0;
virtual void ShutDown(bool reboot) = 0;
+2 -2
View File
@@ -30,8 +30,8 @@ bigtime_t rtc_boot_time(void);
// Both functions use the passed struct tm only partially
// (no tm_wday, tm_yday, tm_isdst).
uint32 rtc_tm_to_secs(const struct tm *t);
void rtc_secs_to_tm(uint32 seconds, struct tm *t);
uint64 rtc_tm_to_secs(const struct tm *t);
void rtc_secs_to_tm(uint64 seconds, struct tm *t);
uint32 get_timezone_offset(void);