struct SbiClint {
max_cpus: usize,
timebase_frequency_hz: u64,
}Fields§
§max_cpus: usize§timebase_frequency_hz: u64Implementations§
Source§impl SbiClint
impl SbiClint
Sourcefn validate_cpu_id(&self, cpu_id: CpuId) -> InterruptResult<()>
fn validate_cpu_id(&self, cpu_id: CpuId) -> InterruptResult<()>
Validate CPU ID
Trait Implementations§
Source§impl LocalInterruptController for SbiClint
impl LocalInterruptController for SbiClint
Source§fn init(&mut self, cpu_id: CpuId) -> InterruptResult<()>
fn init(&mut self, cpu_id: CpuId) -> InterruptResult<()>
Initialize the CLINT for a specific CPU
Source§fn enable_interrupt(
&mut self,
_cpu_id: CpuId,
interrupt_type: LocalInterruptType,
) -> InterruptResult<()>
fn enable_interrupt( &mut self, _cpu_id: CpuId, interrupt_type: LocalInterruptType, ) -> InterruptResult<()>
Enable a specific local interrupt type for a CPU
Source§fn disable_interrupt(
&mut self,
cpu_id: CpuId,
interrupt_type: LocalInterruptType,
) -> InterruptResult<()>
fn disable_interrupt( &mut self, cpu_id: CpuId, interrupt_type: LocalInterruptType, ) -> InterruptResult<()>
Disable a specific local interrupt type for a CPU
Source§fn is_pending(&self, cpu_id: CpuId, interrupt_type: LocalInterruptType) -> bool
fn is_pending(&self, cpu_id: CpuId, interrupt_type: LocalInterruptType) -> bool
Check if a specific local interrupt type is pending for a CPU
Source§fn clear_interrupt(
&mut self,
cpu_id: CpuId,
interrupt_type: LocalInterruptType,
) -> InterruptResult<()>
fn clear_interrupt( &mut self, cpu_id: CpuId, interrupt_type: LocalInterruptType, ) -> InterruptResult<()>
Clear a pending local interrupt for a CPU
Source§fn send_software_interrupt(&mut self, _target_cpu: CpuId) -> InterruptResult<()>
fn send_software_interrupt(&mut self, _target_cpu: CpuId) -> InterruptResult<()>
Send a software interrupt to a specific CPU
Source§fn clear_software_interrupt(&mut self, _cpu_id: CpuId) -> InterruptResult<()>
fn clear_software_interrupt(&mut self, _cpu_id: CpuId) -> InterruptResult<()>
Clear a software interrupt for a specific CPU
Source§fn set_timer(&mut self, cpu_id: CpuId, time: u64) -> InterruptResult<()>
fn set_timer(&mut self, cpu_id: CpuId, time: u64) -> InterruptResult<()>
Set timer interrupt for a specific CPU
Source§fn get_timer_frequency_hz(&self) -> u64
fn get_timer_frequency_hz(&self) -> u64
Returns the timer clock frequency in Hz