Skip to content

Commit 5d37bb3

Browse files
committed
acpi: remove AccessSize enum
For certain address spaces, like the PCC (Platform Communications Channel), all access size values in a GAS (Generic Address Structure) are valid. Therefore, while this might make sense for other address spaces (like system memory), we cannot keep the enum with a subset of valid values.
1 parent c99c032 commit 5d37bb3

File tree

2 files changed

+11
-36
lines changed

2 files changed

+11
-36
lines changed

acpi/src/address.rs

+2-27
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
//! in a wide range of address spaces.
33
44
use crate::AcpiError;
5-
use core::convert::TryFrom;
65

76
/// This is the raw form of a Generic Address Structure, and follows the layout found in the ACPI tables. It does
87
/// not form part of the public API, and should be turned into a `GenericAddress` for most use-cases.
@@ -51,36 +50,12 @@ pub enum AddressSpace {
5150
OemDefined(u8),
5251
}
5352

54-
#[derive(PartialEq, Eq, Clone, Copy, Debug)]
55-
pub enum AccessSize {
56-
Undefined,
57-
ByteAccess,
58-
WordAccess,
59-
DWordAccess,
60-
QWordAccess,
61-
}
62-
63-
impl TryFrom<u8> for AccessSize {
64-
type Error = AcpiError;
65-
66-
fn try_from(size: u8) -> Result<Self, Self::Error> {
67-
match size {
68-
0 => Ok(AccessSize::Undefined),
69-
1 => Ok(AccessSize::ByteAccess),
70-
2 => Ok(AccessSize::WordAccess),
71-
3 => Ok(AccessSize::DWordAccess),
72-
4 => Ok(AccessSize::QWordAccess),
73-
_ => Err(AcpiError::InvalidGenericAddress),
74-
}
75-
}
76-
}
77-
7853
#[derive(PartialEq, Eq, Clone, Copy, Debug)]
7954
pub struct GenericAddress {
8055
pub address_space: AddressSpace,
8156
pub bit_width: u8,
8257
pub bit_offset: u8,
83-
pub access_size: AccessSize,
58+
pub access_size: u8,
8459
pub address: u64,
8560
}
8661

@@ -108,7 +83,7 @@ impl GenericAddress {
10883
address_space,
10984
bit_width: raw.bit_width,
11085
bit_offset: raw.bit_offset,
111-
access_size: AccessSize::try_from(raw.access_size)?,
86+
access_size: raw.access_size,
11287
address: raw.address,
11388
})
11489
}

acpi/src/fadt.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::{
2-
address::{AccessSize, AddressSpace, GenericAddress, RawGenericAddress},
2+
address::{AddressSpace, GenericAddress, RawGenericAddress},
33
sdt::{ExtendedField, SdtHeader, Signature},
44
AcpiError,
55
AcpiTable,
@@ -179,7 +179,7 @@ impl Fadt {
179179
address_space: AddressSpace::SystemIo,
180180
bit_width: self.pm1_event_length * 8,
181181
bit_offset: 0,
182-
access_size: AccessSize::Undefined,
182+
access_size: 0,
183183
address: self.pm1a_event_block.into(),
184184
})
185185
}
@@ -196,7 +196,7 @@ impl Fadt {
196196
address_space: AddressSpace::SystemIo,
197197
bit_width: self.pm1_event_length * 8,
198198
bit_offset: 0,
199-
access_size: AccessSize::Undefined,
199+
access_size: 0,
200200
address: self.pm1b_event_block.into(),
201201
}))
202202
} else {
@@ -215,7 +215,7 @@ impl Fadt {
215215
address_space: AddressSpace::SystemIo,
216216
bit_width: self.pm1_control_length * 8,
217217
bit_offset: 0,
218-
access_size: AccessSize::Undefined,
218+
access_size: 0,
219219
address: self.pm1a_control_block.into(),
220220
})
221221
}
@@ -232,7 +232,7 @@ impl Fadt {
232232
address_space: AddressSpace::SystemIo,
233233
bit_width: self.pm1_control_length * 8,
234234
bit_offset: 0,
235-
access_size: AccessSize::Undefined,
235+
access_size: 0,
236236
address: self.pm1b_control_block.into(),
237237
}))
238238
} else {
@@ -252,7 +252,7 @@ impl Fadt {
252252
address_space: AddressSpace::SystemIo,
253253
bit_width: self.pm2_control_length * 8,
254254
bit_offset: 0,
255-
access_size: AccessSize::Undefined,
255+
access_size: 0,
256256
address: self.pm2_control_block.into(),
257257
}))
258258
} else {
@@ -279,7 +279,7 @@ impl Fadt {
279279
address_space: AddressSpace::SystemIo,
280280
bit_width: 32,
281281
bit_offset: 0,
282-
access_size: AccessSize::Undefined,
282+
access_size: 0,
283283
address: self.pm_timer_block.into(),
284284
}))
285285
} else {
@@ -299,7 +299,7 @@ impl Fadt {
299299
address_space: AddressSpace::SystemIo,
300300
bit_width: self.gpe0_block_length * 8,
301301
bit_offset: 0,
302-
access_size: AccessSize::Undefined,
302+
access_size: 0,
303303
address: self.gpe0_block.into(),
304304
}))
305305
} else {
@@ -319,7 +319,7 @@ impl Fadt {
319319
address_space: AddressSpace::SystemIo,
320320
bit_width: self.gpe1_block_length * 8,
321321
bit_offset: 0,
322-
access_size: AccessSize::Undefined,
322+
access_size: 0,
323323
address: self.gpe1_block.into(),
324324
}))
325325
} else {

0 commit comments

Comments
 (0)