sel4/arch/arm/arch/aarch64/
vcpu_reg.rs1use sel4_config::sel4_cfg_enum;
9
10use crate::sys;
11
12#[repr(u64)]
14#[allow(non_camel_case_types)]
15#[sel4_cfg_enum]
16pub enum VCpuReg {
17 SCTLR = sys::seL4_VCPUReg::seL4_VCPUReg_SCTLR,
18 TTBR0 = sys::seL4_VCPUReg::seL4_VCPUReg_TTBR0,
19 TTBR1 = sys::seL4_VCPUReg::seL4_VCPUReg_TTBR1,
20 TCR = sys::seL4_VCPUReg::seL4_VCPUReg_TCR,
21 MAIR = sys::seL4_VCPUReg::seL4_VCPUReg_MAIR,
22 AMAIR = sys::seL4_VCPUReg::seL4_VCPUReg_AMAIR,
23 CIDR = sys::seL4_VCPUReg::seL4_VCPUReg_CIDR,
24 ACTLR = sys::seL4_VCPUReg::seL4_VCPUReg_ACTLR,
25 CPACR = sys::seL4_VCPUReg::seL4_VCPUReg_CPACR,
26 AFSR0 = sys::seL4_VCPUReg::seL4_VCPUReg_AFSR0,
27 AFSR1 = sys::seL4_VCPUReg::seL4_VCPUReg_AFSR1,
28 ESR = sys::seL4_VCPUReg::seL4_VCPUReg_ESR,
29 FAR = sys::seL4_VCPUReg::seL4_VCPUReg_FAR,
30 VBAR = sys::seL4_VCPUReg::seL4_VCPUReg_VBAR,
31 TPIDR_EL1 = sys::seL4_VCPUReg::seL4_VCPUReg_TPIDR_EL1,
32 #[sel4_cfg(not(MAX_NUM_NODES = "1"))]
33 VMPIDR_EL2 = sys::seL4_VCPUReg::seL4_VCPUReg_VMPIDR_EL2,
34 SP_EL1 = sys::seL4_VCPUReg::seL4_VCPUReg_SP_EL1,
35 ELR_EL1 = sys::seL4_VCPUReg::seL4_VCPUReg_ELR_EL1,
36 SPSR_EL1 = sys::seL4_VCPUReg::seL4_VCPUReg_SPSR_EL1,
37 CNTV_CTL = sys::seL4_VCPUReg::seL4_VCPUReg_CNTV_CTL,
38 CNTV_CVAL = sys::seL4_VCPUReg::seL4_VCPUReg_CNTV_CVAL,
39 CNTVOFF = sys::seL4_VCPUReg::seL4_VCPUReg_CNTVOFF,
40}
41
42impl VCpuReg {
43 pub const fn into_sys(self) -> sys::seL4_VCPUReg::Type {
44 self as sys::seL4_VCPUReg::Type
45 }
46}