#[repr(C)]
pub struct PitChannelState {
Show 13 fields pub count: u32, pub latched_count: u16, pub count_latched: PitRWState, pub status_latched: bool, pub status: u8, pub read_state: PitRWState, pub write_state: PitRWState, pub reload_value: u16, pub rw_mode: PitRWMode, pub mode: u8, pub bcd: bool, pub gate: bool, pub count_load_time: u64,
}
Expand description

The PitChannelState represents the state of one of the PIT’s three counters.

Fields§

§count: u32

The starting value for the counter.

§latched_count: u16

Stores the channel count from the last time the count was latched.

§count_latched: PitRWState

Indicates the PitRWState state of reading the latch value.

§status_latched: bool

Indicates whether ReadBack status has been latched.

§status: u8

Stores the channel status from the last time the status was latched. The status contains information about the access mode of this channel, but changing those bits in the status will not change the behavior of the pit.

§read_state: PitRWState

Indicates the PitRWState state of reading the counter.

§write_state: PitRWState

Indicates the PitRWState state of writing the counter.

§reload_value: u16

Stores the value with which the counter was initialized. Counters are 16- bit values with an effective range of 1-65536 (65536 represented by 0).

§rw_mode: PitRWMode

The command access mode of this channel.

§mode: u8

The operation mode of this channel.

§bcd: bool

Whether or not we are in bcd mode. Not supported by KVM or crosvm’s PIT implementation.

§gate: bool

Value of the gate input pin. This only applies to channel 2.

§count_load_time: u64

Nanosecond timestamp of when the count value was loaded.

Trait Implementations§

source§

impl Clone for PitChannelState

source§

fn clone(&self) -> PitChannelState

Returns a copy 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 Debug for PitChannelState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for PitChannelState

source§

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 From<&PitChannelState> for kvm_pit_channel_state

source§

fn from(item: &PitChannelState) -> Self

Converts to this type from the input type.
source§

impl From<&kvm_pit_channel_state> for PitChannelState

source§

fn from(item: &kvm_pit_channel_state) -> Self

Converts to this type from the input type.
source§

impl PartialEq<PitChannelState> for PitChannelState

source§

fn eq(&self, other: &PitChannelState) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for PitChannelState

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Copy for PitChannelState

source§

impl Eq for PitChannelState

source§

impl StructuralEq for PitChannelState

source§

impl StructuralPartialEq for PitChannelState

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

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, Global>) -> Rc<dyn Any, Global>

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)

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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,