Struct hypervisor::x86_64::PicState
source · #[repr(C)]pub struct PicState {Show 16 fields
pub last_irr: u8,
pub irr: u8,
pub imr: u8,
pub isr: u8,
pub priority_add: u8,
pub irq_base: u8,
pub read_reg_select: bool,
pub poll: bool,
pub special_mask: bool,
pub init_state: PicInitState,
pub auto_eoi: bool,
pub rotate_on_auto_eoi: bool,
pub special_fully_nested_mode: bool,
pub use_4_byte_icw: bool,
pub elcr: u8,
pub elcr_mask: u8,
}
Expand description
Represents the state of the PIC.
Fields§
§last_irr: u8
Edge detection.
irr: u8
Interrupt Request Register.
imr: u8
Interrupt Mask Register.
isr: u8
Interrupt Service Register.
priority_add: u8
Highest priority, for priority rotation.
irq_base: u8
§read_reg_select: bool
§poll: bool
§special_mask: bool
§init_state: PicInitState
§auto_eoi: bool
§rotate_on_auto_eoi: bool
§special_fully_nested_mode: bool
§use_4_byte_icw: bool
PIC takes either 3 or 4 bytes of initialization command word during initialization. use_4_byte_icw is true if 4 bytes of ICW are needed.
elcr: u8
“Edge/Level Control Registers”, for edge trigger selection. When a particular bit is set, the corresponding IRQ is in level-triggered mode. Otherwise it is in edge-triggered mode.
elcr_mask: u8
Trait Implementations§
source§impl<'de> Deserialize<'de> for PicState
impl<'de> Deserialize<'de> for PicState
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for PicState
impl PartialEq for PicState
impl Copy for PicState
impl Eq for PicState
impl StructuralPartialEq for PicState
Auto Trait Implementations§
impl RefUnwindSafe for PicState
impl Send for PicState
impl Sync for PicState
impl Unpin for PicState
impl UnwindSafe for PicState
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.