Skip to content

Commit ed550f6

Browse files
committed
Rename AcpiHandler to RegionMapper, improve docs
1 parent 425cd54 commit ed550f6

File tree

8 files changed

+164
-209
lines changed

8 files changed

+164
-209
lines changed

src/aml/mod.rs

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ pub mod resource;
2020

2121
pub use pci_types::PciAddress;
2222

23-
use crate::{AcpiError, AcpiHandler, AcpiTables, AmlTable, sdt::SdtHeader};
23+
use crate::{AcpiError, AcpiTables, AmlTable, RegionMapper, sdt::SdtHeader};
2424
use alloc::{
2525
boxed::Box,
2626
collections::btree_map::BTreeMap,
@@ -86,23 +86,21 @@ where
8686

8787
/// Construct a new `Interpreter` with the given set of ACPI tables. This will automatically
8888
/// load the DSDT and any SSDTs in the supplied [`AcpiTables`].
89-
// TODO: maybe merge handler types? Maybe make one a supertrait of the other?
90-
pub fn new_from_tables<AH: AcpiHandler>(
91-
acpi_handler: AH,
92-
aml_handler: H,
93-
tables: &AcpiTables<AH>,
89+
pub fn new_from_tables<M: RegionMapper>(
90+
mapper: M,
91+
handler: H,
92+
tables: &AcpiTables<M>,
9493
) -> Result<Interpreter<H>, AcpiError> {
95-
fn load_table<H: Handler, AH: AcpiHandler>(
94+
fn load_table<M: RegionMapper, H: Handler>(
9695
interpreter: &Interpreter<H>,
97-
acpi_handler: &AH,
96+
mapper: &M,
9897
table: AmlTable,
9998
) -> Result<(), AcpiError> {
100-
let mapping = unsafe {
101-
acpi_handler.map_physical_region::<SdtHeader>(table.phys_address, table.length as usize)
102-
};
99+
let mapping =
100+
unsafe { mapper.map_physical_region::<SdtHeader>(table.phys_address, table.length as usize) };
103101
let stream = unsafe {
104102
slice::from_raw_parts(
105-
mapping.virtual_start().as_ptr().byte_add(mem::size_of::<SdtHeader>()) as *const u8,
103+
mapping.virtual_start.as_ptr().byte_add(mem::size_of::<SdtHeader>()) as *const u8,
106104
table.length as usize - mem::size_of::<SdtHeader>(),
107105
)
108106
};
@@ -111,11 +109,11 @@ where
111109
}
112110

113111
let dsdt = tables.dsdt()?;
114-
let interpreter = Interpreter::new(aml_handler, dsdt.revision);
115-
load_table(&interpreter, &acpi_handler, dsdt)?;
112+
let interpreter = Interpreter::new(handler, dsdt.revision);
113+
load_table(&interpreter, &mapper, dsdt)?;
116114

117115
for ssdt in tables.ssdts() {
118-
load_table(&interpreter, &acpi_handler, ssdt)?;
116+
load_table(&interpreter, &mapper, ssdt)?;
119117
}
120118

121119
Ok(interpreter)

src/handler.rs

Lines changed: 0 additions & 165 deletions
This file was deleted.

0 commit comments

Comments
 (0)