Skip to main content

PartialCnthctl

Struct PartialCnthctl 

Source
pub struct PartialCnthctl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> { /* private fields */ }
Expand description

Builder struct for partial initialization of Cnthctl .

Implementations§

Source§

impl<const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> PartialCnthctl<false, evntdir, evnten, pl1pcen, pl1pcten>

Source

pub const fn with_evnti( &self, value: u4, ) -> PartialCnthctl<true, evntdir, evnten, pl1pcen, pl1pcten>

Selects which bit of CNTPCT, as seen from EL2, is the trigger for the event stream generated from that counter when that stream is enabled.

Source§

impl<const evnti: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> PartialCnthctl<evnti, false, evnten, pl1pcen, pl1pcten>

Source

pub const fn with_evntdir( &self, value: bool, ) -> PartialCnthctl<evnti, true, evnten, pl1pcen, pl1pcten>

Controls which transition of the CNTPCT trigger bit, as seen from EL2 and defined by EVNTI, generates an event when the event stream is enabled.

Source§

impl<const evnti: bool, const evntdir: bool, const pl1pcen: bool, const pl1pcten: bool> PartialCnthctl<evnti, evntdir, false, pl1pcen, pl1pcten>

Source

pub const fn with_evnten( &self, value: bool, ) -> PartialCnthctl<evnti, evntdir, true, pl1pcen, pl1pcten>

Enables the generation of an event stream from CNTPCT as seen from EL2.

Source§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcten: bool> PartialCnthctl<evnti, evntdir, evnten, false, pl1pcten>

Source

pub const fn with_pl1pcen( &self, value: bool, ) -> PartialCnthctl<evnti, evntdir, evnten, true, pl1pcten>

Traps Non-secure EL0 and EL1 MRC or MCR accesses, reported using EC syndrome value 0x03, and MRRC or MCRR accesses, reported using EC syndrome value 0x04, to the physical timer registers to Hyp mode.

Source§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool> PartialCnthctl<evnti, evntdir, evnten, pl1pcen, false>

Source

pub const fn with_pl1pcten( &self, value: bool, ) -> PartialCnthctl<evnti, evntdir, evnten, pl1pcen, true>

Traps Non-secure EL0 and EL1 MRRC or MCRR accesses, reported using EC syndrome value 0x04, to the physical counter register to Hyp mode.

Auto Trait Implementations§

§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> Freeze for PartialCnthctl<evnti, evntdir, evnten, pl1pcen, pl1pcten>

§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> RefUnwindSafe for PartialCnthctl<evnti, evntdir, evnten, pl1pcen, pl1pcten>

§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> Send for PartialCnthctl<evnti, evntdir, evnten, pl1pcen, pl1pcten>

§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> Sync for PartialCnthctl<evnti, evntdir, evnten, pl1pcen, pl1pcten>

§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> Unpin for PartialCnthctl<evnti, evntdir, evnten, pl1pcen, pl1pcten>

§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> UnsafeUnpin for PartialCnthctl<evnti, evntdir, evnten, pl1pcen, pl1pcten>

§

impl<const evnti: bool, const evntdir: bool, const evnten: bool, const pl1pcen: bool, const pl1pcten: bool> UnwindSafe for PartialCnthctl<evnti, evntdir, evnten, pl1pcen, pl1pcten>

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.