Re-enable acpi feature and gate it for x86_64 only
This commit is contained in:
@@ -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 = []
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user