pub struct GicV2 { /* private fields */ }
Expand description
Driver for an Arm Generic Interrupt Controller version 2.
Implementations§
source§impl GicV2
impl GicV2
sourcepub const fn new(gicd: *mut u8, gicc: *mut u8) -> Self
pub const fn new(gicd: *mut u8, gicc: *mut u8) -> Self
Safety
The given base addresses must point to the GIC distributor and redistributor registers respectively. These regions must be mapped into the address space of the process as device memory, and not have any other aliases, either via another instance of this driver or otherwise.
Trait Implementations§
source§impl GenericArmGic for GicV2
impl GenericArmGic for GicV2
source§fn init_primary(&mut self)
fn init_primary(&mut self)
Initialises the GIC.
source§fn per_cpu_init(&mut self)
fn per_cpu_init(&mut self)
Initialises the GIC for the current CPU core.
source§fn set_trigger(&mut self, intid: IntId, tm: TriggerMode)
fn set_trigger(&mut self, intid: IntId, tm: TriggerMode)
Configures the trigger type for the interrupt with the given ID.
source§fn enable_interrupt(&mut self, intid: IntId)
fn enable_interrupt(&mut self, intid: IntId)
Enables the interrupt with the given ID.
source§fn disable_interrupt(&mut self, intid: IntId)
fn disable_interrupt(&mut self, intid: IntId)
Disable the interrupt with the given ID.
source§fn end_interrupt(&self, intid: IntId)
fn end_interrupt(&self, intid: IntId)
Informs the interrupt controller that the CPU has completed processing the given interrupt. This drops the interrupt priority and deactivates the interrupt.
impl Copy for GicV2
impl Send for GicV2
impl Sync for GicV2
Auto Trait Implementations§
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more