Re-enable acpi feature and gate it for x86_64 only

This commit is contained in:
Jeremy Soller
2021-05-04 08:33:00 -06:00
parent ac8c7834ef
commit 11a3315255
4 changed files with 7 additions and 7 deletions

View File

@@ -42,7 +42,7 @@ raw-cpuid = "8.0.0"
x86 = { version = "0.32.0", default-features = false }
[features]
default = ["serial_debug"]
default = ["acpi", "multi_core", "serial_debug"]
acpi = []
doc = []
graphical_debug = []

View File

@@ -95,7 +95,7 @@ use crate::log::info;
pub mod allocator;
/// ACPI table parsing
#[cfg(feature = "acpi")]
#[cfg(all(feature = "acpi", target_arch = "x86_64"))]
mod acpi;
/// Context management

View File

@@ -83,7 +83,7 @@ impl IrqScheme {
*HANDLES.write() = Some(BTreeMap::new());
#[cfg(feature = "acpi")]
#[cfg(all(feature = "acpi", target_arch = "x86_64"))]
let cpus = {
use crate::acpi::madt::*;
@@ -94,7 +94,7 @@ impl IrqScheme {
_ => None,
}).collect::<Vec<_>>()
};
#[cfg(not(feature = "acpi"))]
#[cfg(not(all(feature = "acpi", target_arch = "x86_64")))]
let cpus = vec!(0);
IrqScheme {

View File

@@ -19,7 +19,7 @@ use spin::{Once, RwLock, RwLockReadGuard, RwLockWriteGuard};
use crate::syscall::error::*;
use crate::syscall::scheme::Scheme;
#[cfg(feature = "acpi")]
#[cfg(all(feature = "acpi", target_arch = "x86_64"))]
use self::acpi::AcpiScheme;
use self::debug::DebugScheme;
@@ -36,7 +36,7 @@ use self::sys::SysScheme;
use self::time::TimeScheme;
/// When compiled with the "acpi" feature - `acpi:` - allows drivers to read a limited set of ACPI tables.
#[cfg(feature = "acpi")]
#[cfg(all(feature = "acpi", target_arch = "x86_64"))]
pub mod acpi;
/// `debug:` - provides access to serial console
@@ -161,7 +161,7 @@ impl SchemeList {
let ns = self.new_ns();
// These schemes should only be available on the root
#[cfg(feature = "acpi")] {
#[cfg(all(feature = "acpi", target_arch = "x86_64"))] {
self.insert(ns, "acpi", |_| Arc::new(AcpiScheme::new())).unwrap();
}
self.insert(ns, "debug", |scheme_id| Arc::new(DebugScheme::new(scheme_id))).unwrap();