hal_x86_64/interrupt/
apic.rs1pub mod ioapic;
3pub mod local;
4pub use ioapic::{IoApic, IoApicSet};
5pub use local::LocalApic;
6
7use mycelium_util::bits::enum_from_bits;
8use raw_cpuid::CpuId;
9
10pub fn is_supported() -> bool {
11 CpuId::new()
12 .get_feature_info()
13 .map(|features| features.has_apic())
14 .unwrap_or(false)
15}
16
17enum_from_bits! {
18 #[derive(Debug, PartialEq, Eq)]
19 pub enum PinPolarity<u8> {
20 High = 0,
21 Low = 1,
22 }
23}
24
25enum_from_bits! {
26 #[derive(Debug, PartialEq, Eq)]
27 pub enum TriggerMode<u8> {
28 Edge = 0,
29 Level = 1,
30 }
31}