From 1e81c9d78b954277cc14e24a151e25fc473ddd7c Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jackpot51@gmail.com> Date: Wed, 16 Nov 2022 13:53:04 -0700 Subject: [PATCH] Fix compilation without ACPI feature --- src/arch/x86/time.rs | 20 +++++++++++--------- src/arch/x86_64/time.rs | 20 +++++++++++--------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/arch/x86/time.rs b/src/arch/x86/time.rs index 5e1ab17b..665f8ce5 100644 --- a/src/arch/x86/time.rs +++ b/src/arch/x86/time.rs @@ -1,8 +1,10 @@ -use crate::acpi::ACPI_TABLE; -use super::device::{hpet, pit}; +#[cfg(feature = "acpi")] +use super::device::hpet; +use super::device::pit; pub fn counter() -> u128 { - if let Some(ref hpet) = *ACPI_TABLE.hpet.read() { + #[cfg(feature = "acpi")] + if let Some(ref hpet) = *crate::acpi::ACPI_TABLE.hpet.read() { //TODO: handle rollover? //TODO: improve performance @@ -20,11 +22,11 @@ pub fn counter() -> u128 { // Calculate ticks since last interrupt let elapsed = counter.saturating_sub(last_interrupt); // Calculate nanoseconds since last interrupt - (elapsed as u128 * period_fs as u128) / 1_000_000 - } else { - // Read ticks since last interrupt - let elapsed = unsafe { pit::read() }; - // Calculate nanoseconds since last interrupt - (elapsed as u128 * pit::PERIOD_FS) / 1_000_000 + return (elapsed as u128 * period_fs as u128) / 1_000_000; } + + // Read ticks since last interrupt + let elapsed = unsafe { pit::read() }; + // Calculate nanoseconds since last interrupt + (elapsed as u128 * pit::PERIOD_FS) / 1_000_000 } diff --git a/src/arch/x86_64/time.rs b/src/arch/x86_64/time.rs index 5e1ab17b..665f8ce5 100644 --- a/src/arch/x86_64/time.rs +++ b/src/arch/x86_64/time.rs @@ -1,8 +1,10 @@ -use crate::acpi::ACPI_TABLE; -use super::device::{hpet, pit}; +#[cfg(feature = "acpi")] +use super::device::hpet; +use super::device::pit; pub fn counter() -> u128 { - if let Some(ref hpet) = *ACPI_TABLE.hpet.read() { + #[cfg(feature = "acpi")] + if let Some(ref hpet) = *crate::acpi::ACPI_TABLE.hpet.read() { //TODO: handle rollover? //TODO: improve performance @@ -20,11 +22,11 @@ pub fn counter() -> u128 { // Calculate ticks since last interrupt let elapsed = counter.saturating_sub(last_interrupt); // Calculate nanoseconds since last interrupt - (elapsed as u128 * period_fs as u128) / 1_000_000 - } else { - // Read ticks since last interrupt - let elapsed = unsafe { pit::read() }; - // Calculate nanoseconds since last interrupt - (elapsed as u128 * pit::PERIOD_FS) / 1_000_000 + return (elapsed as u128 * period_fs as u128) / 1_000_000; } + + // Read ticks since last interrupt + let elapsed = unsafe { pit::read() }; + // Calculate nanoseconds since last interrupt + (elapsed as u128 * pit::PERIOD_FS) / 1_000_000 } -- GitLab