Skip to main content

Cnthctl

Struct Cnthctl 

Source
pub struct Cnthctl { /* private fields */ }
Expand description

CNTHCTL (Hyp Counter-timer Control Register)

Implementations§

Source§

impl Cnthctl

Source

pub const ZERO: Self

Creates a new instance with a raw value of 0. Equivalent to [Self::new_with_raw_value(0)].

Source

pub const fn raw_value(&self) -> u32

Returns the underlying raw value of this bitfield

Source

pub const fn new_with_raw_value(value: u32) -> Cnthctl

Creates a new instance of this bitfield with the given raw value.

No checks are performed on the value, so it is possible to set bits that don’t have any accessors specified.

Source

pub const fn builder() -> PartialCnthctl<false, false, false, false, false>

Creates a builder for this bitfield which ensures that all writable fields are initialized.

Source

pub const fn evnti(&self) -> u4

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

pub const fn with_evnti(&self, field_value: u4) -> Self

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

pub fn set_evnti(&mut self, field_value: u4)

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

pub const fn evntdir(&self) -> bool

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

pub const fn with_evntdir(&self, field_value: bool) -> Self

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

pub fn set_evntdir(&mut self, field_value: bool)

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

pub const fn evnten(&self) -> bool

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

Source

pub const fn with_evnten(&self, field_value: bool) -> Self

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

Source

pub fn set_evnten(&mut self, field_value: bool)

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

Source

pub const fn pl1pcen(&self) -> bool

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

pub const fn with_pl1pcen(&self, field_value: bool) -> Self

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

pub fn set_pl1pcen(&mut self, field_value: bool)

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

pub const fn pl1pcten(&self) -> bool

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

Source

pub const fn with_pl1pcten(&self, field_value: bool) -> Self

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

Source

pub fn set_pl1pcten(&mut self, field_value: bool)

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

Source§

impl Cnthctl

Source

pub fn read() -> Cnthctl

Reads CNTHCTL (Hyp Counter-timer Control Register)

Source§

impl Cnthctl

Source

pub fn write(value: Self)

Writes CNTHCTL (Hyp Counter-timer Control Register)

Trait Implementations§

Source§

impl Clone for Cnthctl

Source§

fn clone(&self) -> Cnthctl

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Cnthctl

Source§

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

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

impl SysReg for Cnthctl

Source§

const CP: u32 = 15

Which Co-Processor (e.g. 15 for CP15) is this register in?
Source§

const CRN: u32 = 14

Which CRn argument (e.g. 0 for c0) accesses this register
Source§

const OP1: u32 = 4

Which OP1 argument accesses this register
Source§

const CRM: u32 = 1

Which CRm argument (e.g. 1 for c1) accesses this register
Source§

const OP2: u32 = 0

Which OP2 argument accesses this register
Source§

impl SysRegRead for Cnthctl

Source§

fn read_raw() -> u32

Read a value from this 32-bit register Read more
Source§

impl SysRegWrite for Cnthctl

Source§

unsafe fn write_raw(_value: u32)

Write a value to this 32-bit register Read more
Source§

impl Copy for Cnthctl

Auto Trait Implementations§

§

impl Freeze for Cnthctl

§

impl RefUnwindSafe for Cnthctl

§

impl Send for Cnthctl

§

impl Sync for Cnthctl

§

impl Unpin for Cnthctl

§

impl UnsafeUnpin for Cnthctl

§

impl UnwindSafe for Cnthctl

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> CloneToUninit for T
where T: Clone,

§

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
§

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.