소스 검색

Kernel/aarch64: Fix build after #17842

Daniel Bertalan 2 년 전
부모
커밋
906abbdf53
2개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      Kernel/Random.cpp
  2. 2 2
      Kernel/Time/TimeManagement.cpp

+ 1 - 1
Kernel/Random.cpp

@@ -70,7 +70,7 @@ UNMAP_AFTER_INIT KernelRng::KernelRng()
     } else {
         // Fallback to TimeManagement as entropy
         dmesgln("KernelRng: Using bad entropy source TimeManagement");
-        auto current_time = static_cast<u64>(TimeManagement::the().now().to_milliseconds());
+        auto current_time = static_cast<u64>(TimeManagement::now().milliseconds_since_epoch());
         for (size_t i = 0; i < pool_count * reseed_threshold; ++i) {
             add_random_event(current_time, i % 32);
             current_time *= 0x574au;

+ 2 - 2
Kernel/Time/TimeManagement.cpp

@@ -233,7 +233,7 @@ UnixDateTime TimeManagement::boot_time()
     return RTC::boot_time();
 #elif ARCH(AARCH64)
     // FIXME: Return correct boot time
-    return Duration::from_seconds(0);
+    return UnixDateTime::epoch();
 #else
 #    error Unknown architecture
 #endif
@@ -461,7 +461,7 @@ UNMAP_AFTER_INIT bool TimeManagement::probe_and_set_aarch64_hardware_timers()
         m_seconds_since_boot = seconds_since_boot;
         m_ticks_this_second = ticks_this_second;
 
-        timespec_add(m_epoch_time, { (time_t)(delta_ns / 1000000000), (long)(delta_ns % 1000000000) }, m_epoch_time);
+        m_epoch_time += Duration::from_nanoseconds(delta_ns);
 
         m_update1.store(update_iteration + 1, AK::MemoryOrder::memory_order_release);