Skip to main content

ExtendIOProgrammableInterruptController

Struct ExtendIOProgrammableInterruptController 

Source
#[repr(C, packed(1))]
pub struct ExtendIOProgrammableInterruptController { pub type: u8, pub length: u8, pub version: u8, pub cascade_vector: u8, pub node: u8, pub node_map: u64, }
Expand description

§Extend I/O Programmable Interrupt Controller (EIO PIC) Structure

In newer generation Loongson CPUs, Extend I/O Programmable Interrupt Controller (EIO PIC) replaces the combination of HT PIC and part of LIO PIC, and routes interrupts from BIO PIC and MSI PIC to CORE PIC directly.

Fields§

§type: u8

20 - Extend I/O Programmable Interrupt Controller Structure

§length: u8

Length of the Extend I/O Programmable Interrupt Controller Structure in bytes.

JJ’s Note: There doesn’t seem to be any variable-sized fields in this struct. The size is 13 bytes…

§version: u8
  • 0x00 - Invalid
  • 0x01 - EIO PIC v1

Other values are reserved.

§cascade_vector: u8

This field describes routed vector on CORE PIC from EIO PIC vectors.

§node: u8

The node ID of the node connected to bridge.

§node_map: u64

Each bit indicates one node that can receive interrupt routing from the EIO PIC.

Trait Implementations§

Source§

impl Clone for ExtendIOProgrammableInterruptController

Source§

fn clone(&self) -> ExtendIOProgrammableInterruptController

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ExtendIOProgrammableInterruptController

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.