Skip to main content

arm_sysregs/fake/
generated.rs

1// SPDX-FileCopyrightText: Copyright The arm-sysregs Contributors.
2// SPDX-License-Identifier: MIT OR Apache-2.0
3
4// This file is generated, do not edit manually.
5
6use crate::{
7    Amcfgr, AmcfgrEl0, Amcgcr, AmcgcrEl0, Amcntenclr0, Amcntenclr0El0, Amcntenclr1, Amcntenclr1El0,
8    Amcntenset0, Amcntenset0El0, Amcntenset1, Amcntenset1El0, Amcr, AmcrEl0, Amevcntr00,
9    Amevcntr00El0, Amevcntr01, Amevcntr01El0, Amevcntr02, Amevcntr02El0, Amevcntr03, Amevcntr03El0,
10    Amevcntr10El0, Amevcntr11El0, Amevcntr12El0, Amevcntr13El0, Amevcntr14El0, Amevcntr15El0,
11    Amevcntr16El0, Amevcntr17El0, Amevcntr18El0, Amevcntr19El0, Amevcntr110El0, Amevcntr111El0,
12    Amevcntr112El0, Amevcntr113El0, Amevcntr114El0, Amevcntr115El0, Amuserenr, AmuserenrEl0,
13    Ccsidr, Ccsidr2, Clidr, Cntfrq, CntfrqEl0, Cnthctl, CnthpCtl, CnthpCval, CnthpTval, CnthpsCtl,
14    CnthpsCval, CnthpsTval, CnthvCtl, CnthvCval, CnthvTval, CnthvsCtl, CnthvsCval, CnthvsTval,
15    Cntkctl, CntpCtl, CntpCtlEl0, CntpCval, CntpCvalEl0, CntpTval, CntpTvalEl0, Cntpct, CntpctEl0,
16    Cntpctss, CntpctssEl0, CntvCtl, CntvCtlEl0, CntvCval, CntvCvalEl0, CntvTval, CntvTvalEl0,
17    Cntvct, CntvctEl0, Cntvctss, CntvctssEl0, Cntvoff, Contextidr, Cpacr, Csselr, Ctr, CtrEl0,
18    Currentel, Dacr, Dbgauthstatus, Dbgclaimclr, Dbgclaimset, Dbgdccint, Dbgdevid, Dbgdevid1,
19    Dbgdidr, Dbgdrar, Dbgdscrext, Dbgdscrint, Dbgdtrrxext, Dbgdtrrxint, Dbgdtrtxext, Dbgdtrtxint,
20    Dbgosdlr, Dbgoseccr, Dbgoslar, Dbgoslsr, Dbgprcr, Dbgvcr, Dfar, Dfsr, Disr, Dit, Dlr, Dspsr,
21    Dspsr2, Erridr, Errselr, Erxaddr, Erxaddr2, Erxctlr, Erxctlr2, Erxfr, Erxfr2, Erxmisc0,
22    Erxmisc1, Erxmisc2, Erxmisc3, Erxmisc4, Erxmisc5, Erxmisc6, Erxmisc7, Erxstatus, Hcptr, Hcr,
23    Hcr2, Hdcr, Hdfar, Hifar, Hmair0, Hmair1, Hpfar, Hrmr, Hsctlr, Hsr, Htcr, Htpidr, Htrfcr,
24    Httbr, Hvbar, IccAsgi1r, IccBpr0, IccBpr1, IccCtlr, IccDir, IccEoir0, IccEoir1, IccHppir0,
25    IccHppir1, IccHsre, IccIar0, IccIar1, IccIgrpen0, IccIgrpen1, IccMctlr, IccMgrpen1, IccMsre,
26    IccPmr, IccRpr, IccSgi0r, IccSgi1r, IccSre, IdDfr0, IdDfr1, IdIsar0, IdIsar1, IdIsar2, IdIsar3,
27    IdIsar4, IdIsar5, IdIsar6, IdMmfr0, IdMmfr1, IdMmfr2, IdMmfr3, IdMmfr4, IdMmfr5, IdPfr0,
28    IdPfr1, IdPfr2, Ifar, Ifsr, Isr, Mair0, Mair1, Midr, Mpidr, Mvbar, Nmrr, Nsacr, Par, Pmccfiltr,
29    Pmccntr, Pmceid0, Pmceid1, Pmceid2, Pmceid3, Pmcntenclr, Pmcntenset, Pmcr, PmcrEl0, Pmintenclr,
30    Pmintenset, Pmmir, Pmovsr, Pmovsset, Pmselr, Pmswinc, Pmuserenr, Pmxevtyper, Prrr, Rmr, Rvbar,
31    Scr, Sctlr, Sdcr, Sder, Svcr, Tlbtr, TpidrEl0, Tpidrprw, TpidrroEl0, Tpidruro, Tpidrurw, Trfcr,
32    Ttbcr, Ttbcr2, Ttbr0, Ttbr1, Vbar, Vdfsr, Vdisr, Vmpidr, Vpidr, Vtcr, Vttbr,
33};
34#[cfg(feature = "el1")]
35use crate::{
36    ApiakeyhiEl1, ApiakeyloEl1, CcsidrEl1, ClidrEl1, CntkctlEl1, CntpsCtlEl1, CntpsCvalEl1,
37    CntpsTvalEl1, ContextidrEl1, CpacrEl1, CsselrEl1, DisrEl1, ElrEl1, EsrEl1, FarEl1, GcrEl1,
38    GcscrEl1, IccAp1r0El1, IccAsgi1rEl1, IccBpr0El1, IccBpr1El1, IccCtlrEl1, IccDirEl1,
39    IccEoir0El1, IccEoir1El1, IccHppir0El1, IccHppir1El1, IccIar0El1, IccIar1El1, IccIgrpen0El1,
40    IccIgrpen1El1, IccNmiar1El1, IccPmrEl1, IccRprEl1, IccSgi0rEl1, IccSgi1rEl1, IccSreEl1,
41    IdAa64dfr0El1, IdAa64dfr1El1, IdAa64isar1El1, IdAa64isar2El1, IdAa64mmfr0El1, IdAa64mmfr1El1,
42    IdAa64mmfr2El1, IdAa64mmfr3El1, IdAa64pfr0El1, IdAa64pfr1El1, IdAa64smfr0El1, IsrEl1, MairEl1,
43    MdccintEl1, MdscrEl1, MidrEl1, MpamidrEl1, MpidrEl1, ParEl1, RgsrEl1, SctlrEl1, SpEl1, SpsrEl1,
44    Tcr2El1, TcrEl1, TfsrEl1, Tfsre0El1, TpidrEl1, Ttbr0El1, Ttbr1El1, VbarEl1,
45};
46#[cfg(feature = "el2")]
47use crate::{
48    CnthctlEl2, CnthpCtlEl2, CnthpCvalEl2, CnthpTvalEl2, CnthpsCtlEl2, CnthpsCvalEl2,
49    CnthpsTvalEl2, CnthvCtlEl2, CnthvCvalEl2, CnthvTvalEl2, CnthvsCtlEl2, CnthvsCvalEl2,
50    CnthvsTvalEl2, CntpoffEl2, CntvoffEl2, ContextidrEl2, CptrEl2, ElrEl2, ElrHyp, EsrEl2, FarEl2,
51    GcscrEl2, HafgrtrEl2, HcrEl2, HcrxEl2, Hdfgrtr2El2, HdfgrtrEl2, Hdfgwtr2El2, HdfgwtrEl2,
52    Hfgitr2El2, HfgitrEl2, Hfgrtr2El2, HfgrtrEl2, Hfgwtr2El2, HfgwtrEl2, HpfarEl2, IccSreEl2,
53    IchHcrEl2, IchVmcrEl2, MairEl2, MdcrEl2, Mpam2El2, MpamhcrEl2, Mpamvpm0El2, Mpamvpm1El2,
54    Mpamvpm2El2, Mpamvpm3El2, Mpamvpm4El2, Mpamvpm5El2, Mpamvpm6El2, Mpamvpm7El2, MpamvpmvEl2,
55    SctlrEl2, SpEl2, SpsrEl2, Tcr2El2, TcrEl2, TfsrEl2, TpidrEl2, Ttbr0El2, Ttbr1El2, VbarEl2,
56    VdisrEl2, VmpidrEl2, VpidrEl2, VsesrEl2, VtcrEl2, VttbrEl2,
57};
58#[cfg(feature = "el3")]
59use crate::{
60    CptrEl3, EsrEl3, GpccrEl3, GptbrEl3, IccCtlrEl3, IccIgrpen1El3, IccSreEl3, MairEl3, MdcrEl3,
61    Mpam3El3, ScrEl3, Sctlr2El3, SctlrEl3, SmcrEl3, SpsrEl3, TcrEl3, TpidrEl3, Ttbr0El3, ZcrEl3,
62};
63
64/// A set of fake system registers.
65#[derive(Clone, Debug, Eq, PartialEq)]
66#[non_exhaustive]
67pub struct SystemRegisters {
68    /// Fake value for the `ACTLR` system register.
69    pub actlr: u32,
70    /// Fake value for the `ACTLR2` system register.
71    pub actlr2: u32,
72    #[cfg(feature = "el1")]
73    /// Fake value for the `ACTLR_EL1` system register.
74    pub actlr_el1: u64,
75    #[cfg(feature = "el2")]
76    /// Fake value for the `ACTLR_EL2` system register.
77    pub actlr_el2: u64,
78    /// Fake value for the `ADFSR` system register.
79    pub adfsr: u32,
80    #[cfg(feature = "el1")]
81    /// Fake value for the `AFSR0_EL1` system register.
82    pub afsr0_el1: u64,
83    #[cfg(feature = "el2")]
84    /// Fake value for the `AFSR0_EL2` system register.
85    pub afsr0_el2: u64,
86    #[cfg(feature = "el1")]
87    /// Fake value for the `AFSR1_EL1` system register.
88    pub afsr1_el1: u64,
89    #[cfg(feature = "el2")]
90    /// Fake value for the `AFSR1_EL2` system register.
91    pub afsr1_el2: u64,
92    /// Fake value for the `AIDR` system register.
93    pub aidr: u32,
94    /// Fake value for the `AIFSR` system register.
95    pub aifsr: u32,
96    /// Fake value for the `AMAIR0` system register.
97    pub amair0: u32,
98    /// Fake value for the `AMAIR1` system register.
99    pub amair1: u32,
100    #[cfg(feature = "el1")]
101    /// Fake value for the `AMAIR_EL1` system register.
102    pub amair_el1: u64,
103    #[cfg(feature = "el2")]
104    /// Fake value for the `AMAIR_EL2` system register.
105    pub amair_el2: u64,
106    /// Fake value for the `AMCFGR` system register.
107    pub amcfgr: Amcfgr,
108    /// Fake value for the `AMCFGR_EL0` system register.
109    pub amcfgr_el0: AmcfgrEl0,
110    /// Fake value for the `AMCGCR` system register.
111    pub amcgcr: Amcgcr,
112    /// Fake value for the `AMCGCR_EL0` system register.
113    pub amcgcr_el0: AmcgcrEl0,
114    /// Fake value for the `AMCNTENCLR0` system register.
115    pub amcntenclr0: Amcntenclr0,
116    /// Fake value for the `AMCNTENCLR0_EL0` system register.
117    pub amcntenclr0_el0: Amcntenclr0El0,
118    /// Fake value for the `AMCNTENCLR1` system register.
119    pub amcntenclr1: Amcntenclr1,
120    /// Fake value for the `AMCNTENCLR1_EL0` system register.
121    pub amcntenclr1_el0: Amcntenclr1El0,
122    /// Fake value for the `AMCNTENSET0` system register.
123    pub amcntenset0: Amcntenset0,
124    /// Fake value for the `AMCNTENSET0_EL0` system register.
125    pub amcntenset0_el0: Amcntenset0El0,
126    /// Fake value for the `AMCNTENSET1` system register.
127    pub amcntenset1: Amcntenset1,
128    /// Fake value for the `AMCNTENSET1_EL0` system register.
129    pub amcntenset1_el0: Amcntenset1El0,
130    /// Fake value for the `AMCR` system register.
131    pub amcr: Amcr,
132    /// Fake value for the `AMCR_EL0` system register.
133    pub amcr_el0: AmcrEl0,
134    /// Fake value for the `AMEVCNTR00` system register.
135    pub amevcntr00: Amevcntr00,
136    /// Fake value for the `AMEVCNTR00_EL0` system register.
137    pub amevcntr00_el0: Amevcntr00El0,
138    /// Fake value for the `AMEVCNTR01` system register.
139    pub amevcntr01: Amevcntr01,
140    /// Fake value for the `AMEVCNTR01_EL0` system register.
141    pub amevcntr01_el0: Amevcntr01El0,
142    /// Fake value for the `AMEVCNTR02` system register.
143    pub amevcntr02: Amevcntr02,
144    /// Fake value for the `AMEVCNTR02_EL0` system register.
145    pub amevcntr02_el0: Amevcntr02El0,
146    /// Fake value for the `AMEVCNTR03` system register.
147    pub amevcntr03: Amevcntr03,
148    /// Fake value for the `AMEVCNTR03_EL0` system register.
149    pub amevcntr03_el0: Amevcntr03El0,
150    /// Fake value for the `AMEVCNTR10_EL0` system register.
151    pub amevcntr10_el0: Amevcntr10El0,
152    /// Fake value for the `AMEVCNTR110_EL0` system register.
153    pub amevcntr110_el0: Amevcntr110El0,
154    /// Fake value for the `AMEVCNTR111_EL0` system register.
155    pub amevcntr111_el0: Amevcntr111El0,
156    /// Fake value for the `AMEVCNTR112_EL0` system register.
157    pub amevcntr112_el0: Amevcntr112El0,
158    /// Fake value for the `AMEVCNTR113_EL0` system register.
159    pub amevcntr113_el0: Amevcntr113El0,
160    /// Fake value for the `AMEVCNTR114_EL0` system register.
161    pub amevcntr114_el0: Amevcntr114El0,
162    /// Fake value for the `AMEVCNTR115_EL0` system register.
163    pub amevcntr115_el0: Amevcntr115El0,
164    /// Fake value for the `AMEVCNTR11_EL0` system register.
165    pub amevcntr11_el0: Amevcntr11El0,
166    /// Fake value for the `AMEVCNTR12_EL0` system register.
167    pub amevcntr12_el0: Amevcntr12El0,
168    /// Fake value for the `AMEVCNTR13_EL0` system register.
169    pub amevcntr13_el0: Amevcntr13El0,
170    /// Fake value for the `AMEVCNTR14_EL0` system register.
171    pub amevcntr14_el0: Amevcntr14El0,
172    /// Fake value for the `AMEVCNTR15_EL0` system register.
173    pub amevcntr15_el0: Amevcntr15El0,
174    /// Fake value for the `AMEVCNTR16_EL0` system register.
175    pub amevcntr16_el0: Amevcntr16El0,
176    /// Fake value for the `AMEVCNTR17_EL0` system register.
177    pub amevcntr17_el0: Amevcntr17El0,
178    /// Fake value for the `AMEVCNTR18_EL0` system register.
179    pub amevcntr18_el0: Amevcntr18El0,
180    /// Fake value for the `AMEVCNTR19_EL0` system register.
181    pub amevcntr19_el0: Amevcntr19El0,
182    /// Fake value for the `AMUSERENR` system register.
183    pub amuserenr: Amuserenr,
184    /// Fake value for the `AMUSERENR_EL0` system register.
185    pub amuserenr_el0: AmuserenrEl0,
186    #[cfg(feature = "el1")]
187    /// Fake value for the `APIAKeyHi_EL1` system register.
188    pub apiakeyhi_el1: ApiakeyhiEl1,
189    #[cfg(feature = "el1")]
190    /// Fake value for the `APIAKeyLo_EL1` system register.
191    pub apiakeylo_el1: ApiakeyloEl1,
192    /// Fake value for the `CCSIDR` system register.
193    pub ccsidr: Ccsidr,
194    /// Fake value for the `CCSIDR2` system register.
195    pub ccsidr2: Ccsidr2,
196    #[cfg(feature = "el1")]
197    /// Fake value for the `CCSIDR_EL1` system register.
198    pub ccsidr_el1: CcsidrEl1,
199    /// Fake value for the `CLIDR` system register.
200    pub clidr: Clidr,
201    #[cfg(feature = "el1")]
202    /// Fake value for the `CLIDR_EL1` system register.
203    pub clidr_el1: ClidrEl1,
204    /// Fake value for the `CNTFRQ` system register.
205    pub cntfrq: Cntfrq,
206    /// Fake value for the `CNTFRQ_EL0` system register.
207    pub cntfrq_el0: CntfrqEl0,
208    /// Fake value for the `CNTHCTL` system register.
209    pub cnthctl: Cnthctl,
210    #[cfg(feature = "el2")]
211    /// Fake value for the `CNTHCTL_EL2` system register.
212    pub cnthctl_el2: CnthctlEl2,
213    /// Fake value for the `CNTHPS_CTL` system register.
214    pub cnthps_ctl: CnthpsCtl,
215    #[cfg(feature = "el2")]
216    /// Fake value for the `CNTHPS_CTL_EL2` system register.
217    pub cnthps_ctl_el2: CnthpsCtlEl2,
218    /// Fake value for the `CNTHPS_CVAL` system register.
219    pub cnthps_cval: CnthpsCval,
220    #[cfg(feature = "el2")]
221    /// Fake value for the `CNTHPS_CVAL_EL2` system register.
222    pub cnthps_cval_el2: CnthpsCvalEl2,
223    /// Fake value for the `CNTHPS_TVAL` system register.
224    pub cnthps_tval: CnthpsTval,
225    #[cfg(feature = "el2")]
226    /// Fake value for the `CNTHPS_TVAL_EL2` system register.
227    pub cnthps_tval_el2: CnthpsTvalEl2,
228    /// Fake value for the `CNTHP_CTL` system register.
229    pub cnthp_ctl: CnthpCtl,
230    #[cfg(feature = "el2")]
231    /// Fake value for the `CNTHP_CTL_EL2` system register.
232    pub cnthp_ctl_el2: CnthpCtlEl2,
233    /// Fake value for the `CNTHP_CVAL` system register.
234    pub cnthp_cval: CnthpCval,
235    #[cfg(feature = "el2")]
236    /// Fake value for the `CNTHP_CVAL_EL2` system register.
237    pub cnthp_cval_el2: CnthpCvalEl2,
238    /// Fake value for the `CNTHP_TVAL` system register.
239    pub cnthp_tval: CnthpTval,
240    #[cfg(feature = "el2")]
241    /// Fake value for the `CNTHP_TVAL_EL2` system register.
242    pub cnthp_tval_el2: CnthpTvalEl2,
243    /// Fake value for the `CNTHVS_CTL` system register.
244    pub cnthvs_ctl: CnthvsCtl,
245    #[cfg(feature = "el2")]
246    /// Fake value for the `CNTHVS_CTL_EL2` system register.
247    pub cnthvs_ctl_el2: CnthvsCtlEl2,
248    /// Fake value for the `CNTHVS_CVAL` system register.
249    pub cnthvs_cval: CnthvsCval,
250    #[cfg(feature = "el2")]
251    /// Fake value for the `CNTHVS_CVAL_EL2` system register.
252    pub cnthvs_cval_el2: CnthvsCvalEl2,
253    /// Fake value for the `CNTHVS_TVAL` system register.
254    pub cnthvs_tval: CnthvsTval,
255    #[cfg(feature = "el2")]
256    /// Fake value for the `CNTHVS_TVAL_EL2` system register.
257    pub cnthvs_tval_el2: CnthvsTvalEl2,
258    /// Fake value for the `CNTHV_CTL` system register.
259    pub cnthv_ctl: CnthvCtl,
260    #[cfg(feature = "el2")]
261    /// Fake value for the `CNTHV_CTL_EL2` system register.
262    pub cnthv_ctl_el2: CnthvCtlEl2,
263    /// Fake value for the `CNTHV_CVAL` system register.
264    pub cnthv_cval: CnthvCval,
265    #[cfg(feature = "el2")]
266    /// Fake value for the `CNTHV_CVAL_EL2` system register.
267    pub cnthv_cval_el2: CnthvCvalEl2,
268    /// Fake value for the `CNTHV_TVAL` system register.
269    pub cnthv_tval: CnthvTval,
270    #[cfg(feature = "el2")]
271    /// Fake value for the `CNTHV_TVAL_EL2` system register.
272    pub cnthv_tval_el2: CnthvTvalEl2,
273    /// Fake value for the `CNTKCTL` system register.
274    pub cntkctl: Cntkctl,
275    #[cfg(feature = "el1")]
276    /// Fake value for the `CNTKCTL_EL1` system register.
277    pub cntkctl_el1: CntkctlEl1,
278    /// Fake value for the `CNTPCT` system register.
279    pub cntpct: Cntpct,
280    /// Fake value for the `CNTPCTSS` system register.
281    pub cntpctss: Cntpctss,
282    /// Fake value for the `CNTPCTSS_EL0` system register.
283    pub cntpctss_el0: CntpctssEl0,
284    /// Fake value for the `CNTPCT_EL0` system register.
285    pub cntpct_el0: CntpctEl0,
286    #[cfg(feature = "el2")]
287    /// Fake value for the `CNTPOFF_EL2` system register.
288    pub cntpoff_el2: CntpoffEl2,
289    #[cfg(feature = "el1")]
290    /// Fake value for the `CNTPS_CTL_EL1` system register.
291    pub cntps_ctl_el1: CntpsCtlEl1,
292    #[cfg(feature = "el1")]
293    /// Fake value for the `CNTPS_CVAL_EL1` system register.
294    pub cntps_cval_el1: CntpsCvalEl1,
295    #[cfg(feature = "el1")]
296    /// Fake value for the `CNTPS_TVAL_EL1` system register.
297    pub cntps_tval_el1: CntpsTvalEl1,
298    /// Fake value for the `CNTP_CTL` system register.
299    pub cntp_ctl: CntpCtl,
300    /// Fake value for the `CNTP_CTL_EL0` system register.
301    pub cntp_ctl_el0: CntpCtlEl0,
302    /// Fake value for the `CNTP_CVAL` system register.
303    pub cntp_cval: CntpCval,
304    /// Fake value for the `CNTP_CVAL_EL0` system register.
305    pub cntp_cval_el0: CntpCvalEl0,
306    /// Fake value for the `CNTP_TVAL` system register.
307    pub cntp_tval: CntpTval,
308    /// Fake value for the `CNTP_TVAL_EL0` system register.
309    pub cntp_tval_el0: CntpTvalEl0,
310    /// Fake value for the `CNTVCT` system register.
311    pub cntvct: Cntvct,
312    /// Fake value for the `CNTVCTSS` system register.
313    pub cntvctss: Cntvctss,
314    /// Fake value for the `CNTVCTSS_EL0` system register.
315    pub cntvctss_el0: CntvctssEl0,
316    /// Fake value for the `CNTVCT_EL0` system register.
317    pub cntvct_el0: CntvctEl0,
318    /// Fake value for the `CNTVOFF` system register.
319    pub cntvoff: Cntvoff,
320    #[cfg(feature = "el2")]
321    /// Fake value for the `CNTVOFF_EL2` system register.
322    pub cntvoff_el2: CntvoffEl2,
323    /// Fake value for the `CNTV_CTL` system register.
324    pub cntv_ctl: CntvCtl,
325    /// Fake value for the `CNTV_CTL_EL0` system register.
326    pub cntv_ctl_el0: CntvCtlEl0,
327    /// Fake value for the `CNTV_CVAL` system register.
328    pub cntv_cval: CntvCval,
329    /// Fake value for the `CNTV_CVAL_EL0` system register.
330    pub cntv_cval_el0: CntvCvalEl0,
331    /// Fake value for the `CNTV_TVAL` system register.
332    pub cntv_tval: CntvTval,
333    /// Fake value for the `CNTV_TVAL_EL0` system register.
334    pub cntv_tval_el0: CntvTvalEl0,
335    /// Fake value for the `CONTEXTIDR` system register.
336    pub contextidr: Contextidr,
337    #[cfg(feature = "el1")]
338    /// Fake value for the `CONTEXTIDR_EL1` system register.
339    pub contextidr_el1: ContextidrEl1,
340    #[cfg(feature = "el2")]
341    /// Fake value for the `CONTEXTIDR_EL2` system register.
342    pub contextidr_el2: ContextidrEl2,
343    /// Fake value for the `CPACR` system register.
344    pub cpacr: Cpacr,
345    #[cfg(feature = "el1")]
346    /// Fake value for the `CPACR_EL1` system register.
347    pub cpacr_el1: CpacrEl1,
348    #[cfg(feature = "el2")]
349    /// Fake value for the `CPTR_EL2` system register.
350    pub cptr_el2: CptrEl2,
351    #[cfg(feature = "el3")]
352    /// Fake value for the `CPTR_EL3` system register.
353    pub cptr_el3: CptrEl3,
354    /// Fake value for the `CSSELR` system register.
355    pub csselr: Csselr,
356    #[cfg(feature = "el1")]
357    /// Fake value for the `CSSELR_EL1` system register.
358    pub csselr_el1: CsselrEl1,
359    /// Fake value for the `CTR` system register.
360    pub ctr: Ctr,
361    /// Fake value for the `CTR_EL0` system register.
362    pub ctr_el0: CtrEl0,
363    /// Fake value for the `CurrentEL` system register.
364    pub currentel: Currentel,
365    /// Fake value for the `DACR` system register.
366    pub dacr: Dacr,
367    /// Fake value for the `DBGAUTHSTATUS` system register.
368    pub dbgauthstatus: Dbgauthstatus,
369    /// Fake value for the `DBGCLAIMCLR` system register.
370    pub dbgclaimclr: Dbgclaimclr,
371    /// Fake value for the `DBGCLAIMSET` system register.
372    pub dbgclaimset: Dbgclaimset,
373    /// Fake value for the `DBGDCCINT` system register.
374    pub dbgdccint: Dbgdccint,
375    /// Fake value for the `DBGDEVID` system register.
376    pub dbgdevid: Dbgdevid,
377    /// Fake value for the `DBGDEVID1` system register.
378    pub dbgdevid1: Dbgdevid1,
379    /// Fake value for the `DBGDEVID2` system register.
380    pub dbgdevid2: u32,
381    /// Fake value for the `DBGDIDR` system register.
382    pub dbgdidr: Dbgdidr,
383    /// Fake value for the `DBGDRAR` system register.
384    pub dbgdrar: Dbgdrar,
385    /// Fake value for the `DBGDSAR` system register.
386    pub dbgdsar: u64,
387    /// Fake value for the `DBGDSCRext` system register.
388    pub dbgdscrext: Dbgdscrext,
389    /// Fake value for the `DBGDSCRint` system register.
390    pub dbgdscrint: Dbgdscrint,
391    /// Fake value for the `DBGDTRRXext` system register.
392    pub dbgdtrrxext: Dbgdtrrxext,
393    /// Fake value for the `DBGDTRRXint` system register.
394    pub dbgdtrrxint: Dbgdtrrxint,
395    /// Fake value for the `DBGDTRTXext` system register.
396    pub dbgdtrtxext: Dbgdtrtxext,
397    /// Fake value for the `DBGDTRTXint` system register.
398    pub dbgdtrtxint: Dbgdtrtxint,
399    /// Fake value for the `DBGOSDLR` system register.
400    pub dbgosdlr: Dbgosdlr,
401    /// Fake value for the `DBGOSECCR` system register.
402    pub dbgoseccr: Dbgoseccr,
403    /// Fake value for the `DBGOSLAR` system register.
404    pub dbgoslar: Dbgoslar,
405    /// Fake value for the `DBGOSLSR` system register.
406    pub dbgoslsr: Dbgoslsr,
407    /// Fake value for the `DBGPRCR` system register.
408    pub dbgprcr: Dbgprcr,
409    /// Fake value for the `DBGVCR` system register.
410    pub dbgvcr: Dbgvcr,
411    /// Fake value for the `DBGWFAR` system register.
412    pub dbgwfar: u32,
413    /// Fake value for the `DFAR` system register.
414    pub dfar: Dfar,
415    /// Fake value for the `DFSR` system register.
416    pub dfsr: Dfsr,
417    /// Fake value for the `DISR` system register.
418    pub disr: Disr,
419    #[cfg(feature = "el1")]
420    /// Fake value for the `DISR_EL1` system register.
421    pub disr_el1: DisrEl1,
422    /// Fake value for the `DIT` system register.
423    pub dit: Dit,
424    /// Fake value for the `DLR` system register.
425    pub dlr: Dlr,
426    /// Fake value for the `DSPSR` system register.
427    pub dspsr: Dspsr,
428    /// Fake value for the `DSPSR2` system register.
429    pub dspsr2: Dspsr2,
430    #[cfg(feature = "el1")]
431    /// Fake value for the `ELR_EL1` system register.
432    pub elr_el1: ElrEl1,
433    #[cfg(feature = "el2")]
434    /// Fake value for the `ELR_EL2` system register.
435    pub elr_el2: ElrEl2,
436    #[cfg(feature = "el2")]
437    /// Fake value for the `ELR_hyp` system register.
438    pub elr_hyp: ElrHyp,
439    /// Fake value for the `ERRIDR` system register.
440    pub erridr: Erridr,
441    /// Fake value for the `ERRSELR` system register.
442    pub errselr: Errselr,
443    /// Fake value for the `ERXADDR` system register.
444    pub erxaddr: Erxaddr,
445    /// Fake value for the `ERXADDR2` system register.
446    pub erxaddr2: Erxaddr2,
447    /// Fake value for the `ERXCTLR` system register.
448    pub erxctlr: Erxctlr,
449    /// Fake value for the `ERXCTLR2` system register.
450    pub erxctlr2: Erxctlr2,
451    /// Fake value for the `ERXFR` system register.
452    pub erxfr: Erxfr,
453    /// Fake value for the `ERXFR2` system register.
454    pub erxfr2: Erxfr2,
455    /// Fake value for the `ERXMISC0` system register.
456    pub erxmisc0: Erxmisc0,
457    /// Fake value for the `ERXMISC1` system register.
458    pub erxmisc1: Erxmisc1,
459    /// Fake value for the `ERXMISC2` system register.
460    pub erxmisc2: Erxmisc2,
461    /// Fake value for the `ERXMISC3` system register.
462    pub erxmisc3: Erxmisc3,
463    /// Fake value for the `ERXMISC4` system register.
464    pub erxmisc4: Erxmisc4,
465    /// Fake value for the `ERXMISC5` system register.
466    pub erxmisc5: Erxmisc5,
467    /// Fake value for the `ERXMISC6` system register.
468    pub erxmisc6: Erxmisc6,
469    /// Fake value for the `ERXMISC7` system register.
470    pub erxmisc7: Erxmisc7,
471    /// Fake value for the `ERXSTATUS` system register.
472    pub erxstatus: Erxstatus,
473    #[cfg(feature = "el1")]
474    /// Fake value for the `ESR_EL1` system register.
475    pub esr_el1: EsrEl1,
476    #[cfg(feature = "el2")]
477    /// Fake value for the `ESR_EL2` system register.
478    pub esr_el2: EsrEl2,
479    #[cfg(feature = "el3")]
480    /// Fake value for the `ESR_EL3` system register.
481    pub esr_el3: EsrEl3,
482    #[cfg(feature = "el1")]
483    /// Fake value for the `FAR_EL1` system register.
484    pub far_el1: FarEl1,
485    #[cfg(feature = "el2")]
486    /// Fake value for the `FAR_EL2` system register.
487    pub far_el2: FarEl2,
488    /// Fake value for the `FCSEIDR` system register.
489    pub fcseidr: u32,
490    #[cfg(feature = "el1")]
491    /// Fake value for the `GCR_EL1` system register.
492    pub gcr_el1: GcrEl1,
493    #[cfg(feature = "el1")]
494    /// Fake value for the `GCSCR_EL1` system register.
495    pub gcscr_el1: GcscrEl1,
496    #[cfg(feature = "el2")]
497    /// Fake value for the `GCSCR_EL2` system register.
498    pub gcscr_el2: GcscrEl2,
499    #[cfg(feature = "el3")]
500    /// Fake value for the `GPCCR_EL3` system register.
501    pub gpccr_el3: GpccrEl3,
502    #[cfg(feature = "el3")]
503    /// Fake value for the `GPTBR_EL3` system register.
504    pub gptbr_el3: GptbrEl3,
505    /// Fake value for the `HACR` system register.
506    pub hacr: u32,
507    #[cfg(feature = "el2")]
508    /// Fake value for the `HACR_EL2` system register.
509    pub hacr_el2: u64,
510    /// Fake value for the `HACTLR` system register.
511    pub hactlr: u32,
512    /// Fake value for the `HACTLR2` system register.
513    pub hactlr2: u32,
514    /// Fake value for the `HADFSR` system register.
515    pub hadfsr: u32,
516    #[cfg(feature = "el2")]
517    /// Fake value for the `HAFGRTR_EL2` system register.
518    pub hafgrtr_el2: HafgrtrEl2,
519    /// Fake value for the `HAIFSR` system register.
520    pub haifsr: u32,
521    /// Fake value for the `HAMAIR0` system register.
522    pub hamair0: u32,
523    /// Fake value for the `HAMAIR1` system register.
524    pub hamair1: u32,
525    /// Fake value for the `HCPTR` system register.
526    pub hcptr: Hcptr,
527    /// Fake value for the `HCR` system register.
528    pub hcr: Hcr,
529    /// Fake value for the `HCR2` system register.
530    pub hcr2: Hcr2,
531    #[cfg(feature = "el2")]
532    /// Fake value for the `HCRX_EL2` system register.
533    pub hcrx_el2: HcrxEl2,
534    #[cfg(feature = "el2")]
535    /// Fake value for the `HCR_EL2` system register.
536    pub hcr_el2: HcrEl2,
537    /// Fake value for the `HDCR` system register.
538    pub hdcr: Hdcr,
539    /// Fake value for the `HDFAR` system register.
540    pub hdfar: Hdfar,
541    #[cfg(feature = "el2")]
542    /// Fake value for the `HDFGRTR2_EL2` system register.
543    pub hdfgrtr2_el2: Hdfgrtr2El2,
544    #[cfg(feature = "el2")]
545    /// Fake value for the `HDFGRTR_EL2` system register.
546    pub hdfgrtr_el2: HdfgrtrEl2,
547    #[cfg(feature = "el2")]
548    /// Fake value for the `HDFGWTR2_EL2` system register.
549    pub hdfgwtr2_el2: Hdfgwtr2El2,
550    #[cfg(feature = "el2")]
551    /// Fake value for the `HDFGWTR_EL2` system register.
552    pub hdfgwtr_el2: HdfgwtrEl2,
553    #[cfg(feature = "el2")]
554    /// Fake value for the `HFGITR2_EL2` system register.
555    pub hfgitr2_el2: Hfgitr2El2,
556    #[cfg(feature = "el2")]
557    /// Fake value for the `HFGITR_EL2` system register.
558    pub hfgitr_el2: HfgitrEl2,
559    #[cfg(feature = "el2")]
560    /// Fake value for the `HFGRTR2_EL2` system register.
561    pub hfgrtr2_el2: Hfgrtr2El2,
562    #[cfg(feature = "el2")]
563    /// Fake value for the `HFGRTR_EL2` system register.
564    pub hfgrtr_el2: HfgrtrEl2,
565    #[cfg(feature = "el2")]
566    /// Fake value for the `HFGWTR2_EL2` system register.
567    pub hfgwtr2_el2: Hfgwtr2El2,
568    #[cfg(feature = "el2")]
569    /// Fake value for the `HFGWTR_EL2` system register.
570    pub hfgwtr_el2: HfgwtrEl2,
571    /// Fake value for the `HIFAR` system register.
572    pub hifar: Hifar,
573    /// Fake value for the `HMAIR0` system register.
574    pub hmair0: Hmair0,
575    /// Fake value for the `HMAIR1` system register.
576    pub hmair1: Hmair1,
577    /// Fake value for the `HPFAR` system register.
578    pub hpfar: Hpfar,
579    #[cfg(feature = "el2")]
580    /// Fake value for the `HPFAR_EL2` system register.
581    pub hpfar_el2: HpfarEl2,
582    /// Fake value for the `HRMR` system register.
583    pub hrmr: Hrmr,
584    /// Fake value for the `HSCTLR` system register.
585    pub hsctlr: Hsctlr,
586    /// Fake value for the `HSR` system register.
587    pub hsr: Hsr,
588    /// Fake value for the `HSTR` system register.
589    pub hstr: u32,
590    #[cfg(feature = "el2")]
591    /// Fake value for the `HSTR_EL2` system register.
592    pub hstr_el2: u64,
593    /// Fake value for the `HTCR` system register.
594    pub htcr: Htcr,
595    /// Fake value for the `HTPIDR` system register.
596    pub htpidr: Htpidr,
597    /// Fake value for the `HTRFCR` system register.
598    pub htrfcr: Htrfcr,
599    /// Fake value for the `HTTBR` system register.
600    pub httbr: Httbr,
601    /// Fake value for the `HVBAR` system register.
602    pub hvbar: Hvbar,
603    #[cfg(feature = "el1")]
604    /// Fake value for the `ICC_AP0R0_EL1` system register.
605    pub icc_ap0r0_el1: u64,
606    #[cfg(feature = "el1")]
607    /// Fake value for the `ICC_AP0R1_EL1` system register.
608    pub icc_ap0r1_el1: u64,
609    #[cfg(feature = "el1")]
610    /// Fake value for the `ICC_AP0R2_EL1` system register.
611    pub icc_ap0r2_el1: u64,
612    #[cfg(feature = "el1")]
613    /// Fake value for the `ICC_AP0R3_EL1` system register.
614    pub icc_ap0r3_el1: u64,
615    #[cfg(feature = "el1")]
616    /// Fake value for the `ICC_AP1R0_EL1` system register.
617    pub icc_ap1r0_el1: IccAp1r0El1,
618    #[cfg(feature = "el1")]
619    /// Fake value for the `ICC_AP1R1_EL1` system register.
620    pub icc_ap1r1_el1: u64,
621    #[cfg(feature = "el1")]
622    /// Fake value for the `ICC_AP1R2_EL1` system register.
623    pub icc_ap1r2_el1: u64,
624    #[cfg(feature = "el1")]
625    /// Fake value for the `ICC_AP1R3_EL1` system register.
626    pub icc_ap1r3_el1: u64,
627    /// Fake value for the `ICC_ASGI1R` system register.
628    pub icc_asgi1r: IccAsgi1r,
629    #[cfg(feature = "el1")]
630    /// Fake value for the `ICC_ASGI1R_EL1` system register.
631    pub icc_asgi1r_el1: IccAsgi1rEl1,
632    /// Fake value for the `ICC_BPR0` system register.
633    pub icc_bpr0: IccBpr0,
634    #[cfg(feature = "el1")]
635    /// Fake value for the `ICC_BPR0_EL1` system register.
636    pub icc_bpr0_el1: IccBpr0El1,
637    /// Fake value for the `ICC_BPR1` system register.
638    pub icc_bpr1: IccBpr1,
639    #[cfg(feature = "el1")]
640    /// Fake value for the `ICC_BPR1_EL1` system register.
641    pub icc_bpr1_el1: IccBpr1El1,
642    /// Fake value for the `ICC_CTLR` system register.
643    pub icc_ctlr: IccCtlr,
644    #[cfg(feature = "el1")]
645    /// Fake value for the `ICC_CTLR_EL1` system register.
646    pub icc_ctlr_el1: IccCtlrEl1,
647    #[cfg(feature = "el3")]
648    /// Fake value for the `ICC_CTLR_EL3` system register.
649    pub icc_ctlr_el3: IccCtlrEl3,
650    /// Fake value for the `ICC_DIR` system register.
651    pub icc_dir: IccDir,
652    #[cfg(feature = "el1")]
653    /// Fake value for the `ICC_DIR_EL1` system register.
654    pub icc_dir_el1: IccDirEl1,
655    /// Fake value for the `ICC_EOIR0` system register.
656    pub icc_eoir0: IccEoir0,
657    #[cfg(feature = "el1")]
658    /// Fake value for the `ICC_EOIR0_EL1` system register.
659    pub icc_eoir0_el1: IccEoir0El1,
660    /// Fake value for the `ICC_EOIR1` system register.
661    pub icc_eoir1: IccEoir1,
662    #[cfg(feature = "el1")]
663    /// Fake value for the `ICC_EOIR1_EL1` system register.
664    pub icc_eoir1_el1: IccEoir1El1,
665    /// Fake value for the `ICC_HPPIR0` system register.
666    pub icc_hppir0: IccHppir0,
667    #[cfg(feature = "el1")]
668    /// Fake value for the `ICC_HPPIR0_EL1` system register.
669    pub icc_hppir0_el1: IccHppir0El1,
670    /// Fake value for the `ICC_HPPIR1` system register.
671    pub icc_hppir1: IccHppir1,
672    #[cfg(feature = "el1")]
673    /// Fake value for the `ICC_HPPIR1_EL1` system register.
674    pub icc_hppir1_el1: IccHppir1El1,
675    /// Fake value for the `ICC_HSRE` system register.
676    pub icc_hsre: IccHsre,
677    /// Fake value for the `ICC_IAR0` system register.
678    pub icc_iar0: IccIar0,
679    #[cfg(feature = "el1")]
680    /// Fake value for the `ICC_IAR0_EL1` system register.
681    pub icc_iar0_el1: IccIar0El1,
682    /// Fake value for the `ICC_IAR1` system register.
683    pub icc_iar1: IccIar1,
684    #[cfg(feature = "el1")]
685    /// Fake value for the `ICC_IAR1_EL1` system register.
686    pub icc_iar1_el1: IccIar1El1,
687    /// Fake value for the `ICC_IGRPEN0` system register.
688    pub icc_igrpen0: IccIgrpen0,
689    #[cfg(feature = "el1")]
690    /// Fake value for the `ICC_IGRPEN0_EL1` system register.
691    pub icc_igrpen0_el1: IccIgrpen0El1,
692    /// Fake value for the `ICC_IGRPEN1` system register.
693    pub icc_igrpen1: IccIgrpen1,
694    #[cfg(feature = "el1")]
695    /// Fake value for the `ICC_IGRPEN1_EL1` system register.
696    pub icc_igrpen1_el1: IccIgrpen1El1,
697    #[cfg(feature = "el3")]
698    /// Fake value for the `ICC_IGRPEN1_EL3` system register.
699    pub icc_igrpen1_el3: IccIgrpen1El3,
700    /// Fake value for the `ICC_MCTLR` system register.
701    pub icc_mctlr: IccMctlr,
702    /// Fake value for the `ICC_MGRPEN1` system register.
703    pub icc_mgrpen1: IccMgrpen1,
704    /// Fake value for the `ICC_MSRE` system register.
705    pub icc_msre: IccMsre,
706    #[cfg(feature = "el1")]
707    /// Fake value for the `ICC_NMIAR1_EL1` system register.
708    pub icc_nmiar1_el1: IccNmiar1El1,
709    /// Fake value for the `ICC_PMR` system register.
710    pub icc_pmr: IccPmr,
711    #[cfg(feature = "el1")]
712    /// Fake value for the `ICC_PMR_EL1` system register.
713    pub icc_pmr_el1: IccPmrEl1,
714    /// Fake value for the `ICC_RPR` system register.
715    pub icc_rpr: IccRpr,
716    #[cfg(feature = "el1")]
717    /// Fake value for the `ICC_RPR_EL1` system register.
718    pub icc_rpr_el1: IccRprEl1,
719    /// Fake value for the `ICC_SGI0R` system register.
720    pub icc_sgi0r: IccSgi0r,
721    #[cfg(feature = "el1")]
722    /// Fake value for the `ICC_SGI0R_EL1` system register.
723    pub icc_sgi0r_el1: IccSgi0rEl1,
724    /// Fake value for the `ICC_SGI1R` system register.
725    pub icc_sgi1r: IccSgi1r,
726    #[cfg(feature = "el1")]
727    /// Fake value for the `ICC_SGI1R_EL1` system register.
728    pub icc_sgi1r_el1: IccSgi1rEl1,
729    /// Fake value for the `ICC_SRE` system register.
730    pub icc_sre: IccSre,
731    #[cfg(feature = "el1")]
732    /// Fake value for the `ICC_SRE_EL1` system register.
733    pub icc_sre_el1: IccSreEl1,
734    #[cfg(feature = "el2")]
735    /// Fake value for the `ICC_SRE_EL2` system register.
736    pub icc_sre_el2: IccSreEl2,
737    #[cfg(feature = "el3")]
738    /// Fake value for the `ICC_SRE_EL3` system register.
739    pub icc_sre_el3: IccSreEl3,
740    #[cfg(feature = "el2")]
741    /// Fake value for the `ICH_HCR_EL2` system register.
742    pub ich_hcr_el2: IchHcrEl2,
743    #[cfg(feature = "el2")]
744    /// Fake value for the `ICH_VMCR_EL2` system register.
745    pub ich_vmcr_el2: IchVmcrEl2,
746    #[cfg(feature = "el1")]
747    /// Fake value for the `ID_AA64DFR0_EL1` system register.
748    pub id_aa64dfr0_el1: IdAa64dfr0El1,
749    #[cfg(feature = "el1")]
750    /// Fake value for the `ID_AA64DFR1_EL1` system register.
751    pub id_aa64dfr1_el1: IdAa64dfr1El1,
752    #[cfg(feature = "el1")]
753    /// Fake value for the `ID_AA64ISAR1_EL1` system register.
754    pub id_aa64isar1_el1: IdAa64isar1El1,
755    #[cfg(feature = "el1")]
756    /// Fake value for the `ID_AA64ISAR2_EL1` system register.
757    pub id_aa64isar2_el1: IdAa64isar2El1,
758    #[cfg(feature = "el1")]
759    /// Fake value for the `ID_AA64MMFR0_EL1` system register.
760    pub id_aa64mmfr0_el1: IdAa64mmfr0El1,
761    #[cfg(feature = "el1")]
762    /// Fake value for the `ID_AA64MMFR1_EL1` system register.
763    pub id_aa64mmfr1_el1: IdAa64mmfr1El1,
764    #[cfg(feature = "el1")]
765    /// Fake value for the `ID_AA64MMFR2_EL1` system register.
766    pub id_aa64mmfr2_el1: IdAa64mmfr2El1,
767    #[cfg(feature = "el1")]
768    /// Fake value for the `ID_AA64MMFR3_EL1` system register.
769    pub id_aa64mmfr3_el1: IdAa64mmfr3El1,
770    #[cfg(feature = "el1")]
771    /// Fake value for the `ID_AA64PFR0_EL1` system register.
772    pub id_aa64pfr0_el1: IdAa64pfr0El1,
773    #[cfg(feature = "el1")]
774    /// Fake value for the `ID_AA64PFR1_EL1` system register.
775    pub id_aa64pfr1_el1: IdAa64pfr1El1,
776    #[cfg(feature = "el1")]
777    /// Fake value for the `ID_AA64SMFR0_EL1` system register.
778    pub id_aa64smfr0_el1: IdAa64smfr0El1,
779    /// Fake value for the `ID_AFR0` system register.
780    pub id_afr0: u32,
781    /// Fake value for the `ID_DFR0` system register.
782    pub id_dfr0: IdDfr0,
783    /// Fake value for the `ID_DFR1` system register.
784    pub id_dfr1: IdDfr1,
785    /// Fake value for the `ID_ISAR0` system register.
786    pub id_isar0: IdIsar0,
787    /// Fake value for the `ID_ISAR1` system register.
788    pub id_isar1: IdIsar1,
789    /// Fake value for the `ID_ISAR2` system register.
790    pub id_isar2: IdIsar2,
791    /// Fake value for the `ID_ISAR3` system register.
792    pub id_isar3: IdIsar3,
793    /// Fake value for the `ID_ISAR4` system register.
794    pub id_isar4: IdIsar4,
795    /// Fake value for the `ID_ISAR5` system register.
796    pub id_isar5: IdIsar5,
797    /// Fake value for the `ID_ISAR6` system register.
798    pub id_isar6: IdIsar6,
799    /// Fake value for the `ID_MMFR0` system register.
800    pub id_mmfr0: IdMmfr0,
801    /// Fake value for the `ID_MMFR1` system register.
802    pub id_mmfr1: IdMmfr1,
803    /// Fake value for the `ID_MMFR2` system register.
804    pub id_mmfr2: IdMmfr2,
805    /// Fake value for the `ID_MMFR3` system register.
806    pub id_mmfr3: IdMmfr3,
807    /// Fake value for the `ID_MMFR4` system register.
808    pub id_mmfr4: IdMmfr4,
809    /// Fake value for the `ID_MMFR5` system register.
810    pub id_mmfr5: IdMmfr5,
811    /// Fake value for the `ID_PFR0` system register.
812    pub id_pfr0: IdPfr0,
813    /// Fake value for the `ID_PFR1` system register.
814    pub id_pfr1: IdPfr1,
815    /// Fake value for the `ID_PFR2` system register.
816    pub id_pfr2: IdPfr2,
817    /// Fake value for the `IFAR` system register.
818    pub ifar: Ifar,
819    /// Fake value for the `IFSR` system register.
820    pub ifsr: Ifsr,
821    /// Fake value for the `ISR` system register.
822    pub isr: Isr,
823    #[cfg(feature = "el1")]
824    /// Fake value for the `ISR_EL1` system register.
825    pub isr_el1: IsrEl1,
826    /// Fake value for the `JIDR` system register.
827    pub jidr: u32,
828    /// Fake value for the `JMCR` system register.
829    pub jmcr: u32,
830    /// Fake value for the `JOSCR` system register.
831    pub joscr: u32,
832    /// Fake value for the `MAIR0` system register.
833    pub mair0: Mair0,
834    /// Fake value for the `MAIR1` system register.
835    pub mair1: Mair1,
836    #[cfg(feature = "el1")]
837    /// Fake value for the `MAIR_EL1` system register.
838    pub mair_el1: MairEl1,
839    #[cfg(feature = "el2")]
840    /// Fake value for the `MAIR_EL2` system register.
841    pub mair_el2: MairEl2,
842    #[cfg(feature = "el3")]
843    /// Fake value for the `MAIR_EL3` system register.
844    pub mair_el3: MairEl3,
845    #[cfg(feature = "el1")]
846    /// Fake value for the `MDCCINT_EL1` system register.
847    pub mdccint_el1: MdccintEl1,
848    #[cfg(feature = "el2")]
849    /// Fake value for the `MDCR_EL2` system register.
850    pub mdcr_el2: MdcrEl2,
851    #[cfg(feature = "el3")]
852    /// Fake value for the `MDCR_EL3` system register.
853    pub mdcr_el3: MdcrEl3,
854    #[cfg(feature = "el1")]
855    /// Fake value for the `MDSCR_EL1` system register.
856    pub mdscr_el1: MdscrEl1,
857    /// Fake value for the `MIDR` system register.
858    pub midr: Midr,
859    #[cfg(feature = "el1")]
860    /// Fake value for the `MIDR_EL1` system register.
861    pub midr_el1: MidrEl1,
862    #[cfg(feature = "el2")]
863    /// Fake value for the `MPAM2_EL2` system register.
864    pub mpam2_el2: Mpam2El2,
865    #[cfg(feature = "el3")]
866    /// Fake value for the `MPAM3_EL3` system register.
867    pub mpam3_el3: Mpam3El3,
868    #[cfg(feature = "el2")]
869    /// Fake value for the `MPAMHCR_EL2` system register.
870    pub mpamhcr_el2: MpamhcrEl2,
871    #[cfg(feature = "el1")]
872    /// Fake value for the `MPAMIDR_EL1` system register.
873    pub mpamidr_el1: MpamidrEl1,
874    #[cfg(feature = "el2")]
875    /// Fake value for the `MPAMVPM0_EL2` system register.
876    pub mpamvpm0_el2: Mpamvpm0El2,
877    #[cfg(feature = "el2")]
878    /// Fake value for the `MPAMVPM1_EL2` system register.
879    pub mpamvpm1_el2: Mpamvpm1El2,
880    #[cfg(feature = "el2")]
881    /// Fake value for the `MPAMVPM2_EL2` system register.
882    pub mpamvpm2_el2: Mpamvpm2El2,
883    #[cfg(feature = "el2")]
884    /// Fake value for the `MPAMVPM3_EL2` system register.
885    pub mpamvpm3_el2: Mpamvpm3El2,
886    #[cfg(feature = "el2")]
887    /// Fake value for the `MPAMVPM4_EL2` system register.
888    pub mpamvpm4_el2: Mpamvpm4El2,
889    #[cfg(feature = "el2")]
890    /// Fake value for the `MPAMVPM5_EL2` system register.
891    pub mpamvpm5_el2: Mpamvpm5El2,
892    #[cfg(feature = "el2")]
893    /// Fake value for the `MPAMVPM6_EL2` system register.
894    pub mpamvpm6_el2: Mpamvpm6El2,
895    #[cfg(feature = "el2")]
896    /// Fake value for the `MPAMVPM7_EL2` system register.
897    pub mpamvpm7_el2: Mpamvpm7El2,
898    #[cfg(feature = "el2")]
899    /// Fake value for the `MPAMVPMV_EL2` system register.
900    pub mpamvpmv_el2: MpamvpmvEl2,
901    /// Fake value for the `MPIDR` system register.
902    pub mpidr: Mpidr,
903    #[cfg(feature = "el1")]
904    /// Fake value for the `MPIDR_EL1` system register.
905    pub mpidr_el1: MpidrEl1,
906    /// Fake value for the `MVBAR` system register.
907    pub mvbar: Mvbar,
908    /// Fake value for the `NMRR` system register.
909    pub nmrr: Nmrr,
910    /// Fake value for the `NSACR` system register.
911    pub nsacr: Nsacr,
912    /// Fake value for the `PAR` system register.
913    pub par: Par,
914    #[cfg(feature = "el1")]
915    /// Fake value for the `PAR_EL1` system register.
916    pub par_el1: ParEl1,
917    /// Fake value for the `PMCCFILTR` system register.
918    pub pmccfiltr: Pmccfiltr,
919    /// Fake value for the `PMCCNTR` system register.
920    pub pmccntr: Pmccntr,
921    /// Fake value for the `PMCEID0` system register.
922    pub pmceid0: Pmceid0,
923    /// Fake value for the `PMCEID1` system register.
924    pub pmceid1: Pmceid1,
925    /// Fake value for the `PMCEID2` system register.
926    pub pmceid2: Pmceid2,
927    /// Fake value for the `PMCEID3` system register.
928    pub pmceid3: Pmceid3,
929    /// Fake value for the `PMCNTENCLR` system register.
930    pub pmcntenclr: Pmcntenclr,
931    /// Fake value for the `PMCNTENSET` system register.
932    pub pmcntenset: Pmcntenset,
933    /// Fake value for the `PMCR` system register.
934    pub pmcr: Pmcr,
935    /// Fake value for the `PMCR_EL0` system register.
936    pub pmcr_el0: PmcrEl0,
937    /// Fake value for the `PMINTENCLR` system register.
938    pub pmintenclr: Pmintenclr,
939    /// Fake value for the `PMINTENSET` system register.
940    pub pmintenset: Pmintenset,
941    /// Fake value for the `PMMIR` system register.
942    pub pmmir: Pmmir,
943    /// Fake value for the `PMOVSR` system register.
944    pub pmovsr: Pmovsr,
945    /// Fake value for the `PMOVSSET` system register.
946    pub pmovsset: Pmovsset,
947    /// Fake value for the `PMSELR` system register.
948    pub pmselr: Pmselr,
949    /// Fake value for the `PMSWINC` system register.
950    pub pmswinc: Pmswinc,
951    /// Fake value for the `PMUSERENR` system register.
952    pub pmuserenr: Pmuserenr,
953    /// Fake value for the `PMXEVTYPER` system register.
954    pub pmxevtyper: Pmxevtyper,
955    /// Fake value for the `PRRR` system register.
956    pub prrr: Prrr,
957    /// Fake value for the `REVIDR` system register.
958    pub revidr: u32,
959    #[cfg(feature = "el1")]
960    /// Fake value for the `RGSR_EL1` system register.
961    pub rgsr_el1: RgsrEl1,
962    /// Fake value for the `RMR` system register.
963    pub rmr: Rmr,
964    /// Fake value for the `RVBAR` system register.
965    pub rvbar: Rvbar,
966    /// Fake value for the `SCR` system register.
967    pub scr: Scr,
968    #[cfg(feature = "el3")]
969    /// Fake value for the `SCR_EL3` system register.
970    pub scr_el3: ScrEl3,
971    /// Fake value for the `SCTLR` system register.
972    pub sctlr: Sctlr,
973    #[cfg(feature = "el3")]
974    /// Fake value for the `SCTLR2_EL3` system register.
975    pub sctlr2_el3: Sctlr2El3,
976    #[cfg(feature = "el1")]
977    /// Fake value for the `SCTLR_EL1` system register.
978    pub sctlr_el1: SctlrEl1,
979    #[cfg(feature = "el2")]
980    /// Fake value for the `SCTLR_EL2` system register.
981    pub sctlr_el2: SctlrEl2,
982    #[cfg(feature = "el3")]
983    /// Fake value for the `SCTLR_EL3` system register.
984    pub sctlr_el3: SctlrEl3,
985    /// Fake value for the `SDCR` system register.
986    pub sdcr: Sdcr,
987    /// Fake value for the `SDER` system register.
988    pub sder: Sder,
989    #[cfg(feature = "el3")]
990    /// Fake value for the `SMCR_EL3` system register.
991    pub smcr_el3: SmcrEl3,
992    #[cfg(feature = "el1")]
993    /// Fake value for the `SPSR_EL1` system register.
994    pub spsr_el1: SpsrEl1,
995    #[cfg(feature = "el2")]
996    /// Fake value for the `SPSR_EL2` system register.
997    pub spsr_el2: SpsrEl2,
998    #[cfg(feature = "el3")]
999    /// Fake value for the `SPSR_EL3` system register.
1000    pub spsr_el3: SpsrEl3,
1001    #[cfg(feature = "el1")]
1002    /// Fake value for the `SP_EL1` system register.
1003    pub sp_el1: SpEl1,
1004    #[cfg(feature = "el2")]
1005    /// Fake value for the `SP_EL2` system register.
1006    pub sp_el2: SpEl2,
1007    /// Fake value for the `SVCR` system register.
1008    pub svcr: Svcr,
1009    /// Fake value for the `TCMTR` system register.
1010    pub tcmtr: u32,
1011    #[cfg(feature = "el1")]
1012    /// Fake value for the `TCR2_EL1` system register.
1013    pub tcr2_el1: Tcr2El1,
1014    #[cfg(feature = "el2")]
1015    /// Fake value for the `TCR2_EL2` system register.
1016    pub tcr2_el2: Tcr2El2,
1017    #[cfg(feature = "el1")]
1018    /// Fake value for the `TCR_EL1` system register.
1019    pub tcr_el1: TcrEl1,
1020    #[cfg(feature = "el2")]
1021    /// Fake value for the `TCR_EL2` system register.
1022    pub tcr_el2: TcrEl2,
1023    #[cfg(feature = "el3")]
1024    /// Fake value for the `TCR_EL3` system register.
1025    pub tcr_el3: TcrEl3,
1026    #[cfg(feature = "el1")]
1027    /// Fake value for the `TFSRE0_EL1` system register.
1028    pub tfsre0_el1: Tfsre0El1,
1029    #[cfg(feature = "el1")]
1030    /// Fake value for the `TFSR_EL1` system register.
1031    pub tfsr_el1: TfsrEl1,
1032    #[cfg(feature = "el2")]
1033    /// Fake value for the `TFSR_EL2` system register.
1034    pub tfsr_el2: TfsrEl2,
1035    /// Fake value for the `TLBTR` system register.
1036    pub tlbtr: Tlbtr,
1037    /// Fake value for the `TPIDRPRW` system register.
1038    pub tpidrprw: Tpidrprw,
1039    /// Fake value for the `TPIDRRO_EL0` system register.
1040    pub tpidrro_el0: TpidrroEl0,
1041    /// Fake value for the `TPIDRURO` system register.
1042    pub tpidruro: Tpidruro,
1043    /// Fake value for the `TPIDRURW` system register.
1044    pub tpidrurw: Tpidrurw,
1045    /// Fake value for the `TPIDR_EL0` system register.
1046    pub tpidr_el0: TpidrEl0,
1047    #[cfg(feature = "el1")]
1048    /// Fake value for the `TPIDR_EL1` system register.
1049    pub tpidr_el1: TpidrEl1,
1050    #[cfg(feature = "el2")]
1051    /// Fake value for the `TPIDR_EL2` system register.
1052    pub tpidr_el2: TpidrEl2,
1053    #[cfg(feature = "el3")]
1054    /// Fake value for the `TPIDR_EL3` system register.
1055    pub tpidr_el3: TpidrEl3,
1056    /// Fake value for the `TRFCR` system register.
1057    pub trfcr: Trfcr,
1058    /// Fake value for the `TTBCR` system register.
1059    pub ttbcr: Ttbcr,
1060    /// Fake value for the `TTBCR2` system register.
1061    pub ttbcr2: Ttbcr2,
1062    /// Fake value for the `TTBR0` system register.
1063    pub ttbr0: Ttbr0,
1064    #[cfg(feature = "el1")]
1065    /// Fake value for the `TTBR0_EL1` system register.
1066    pub ttbr0_el1: Ttbr0El1,
1067    #[cfg(feature = "el2")]
1068    /// Fake value for the `TTBR0_EL2` system register.
1069    pub ttbr0_el2: Ttbr0El2,
1070    #[cfg(feature = "el3")]
1071    /// Fake value for the `TTBR0_EL3` system register.
1072    pub ttbr0_el3: Ttbr0El3,
1073    /// Fake value for the `TTBR1` system register.
1074    pub ttbr1: Ttbr1,
1075    #[cfg(feature = "el1")]
1076    /// Fake value for the `TTBR1_EL1` system register.
1077    pub ttbr1_el1: Ttbr1El1,
1078    #[cfg(feature = "el2")]
1079    /// Fake value for the `TTBR1_EL2` system register.
1080    pub ttbr1_el2: Ttbr1El2,
1081    /// Fake value for the `VBAR` system register.
1082    pub vbar: Vbar,
1083    #[cfg(feature = "el1")]
1084    /// Fake value for the `VBAR_EL1` system register.
1085    pub vbar_el1: VbarEl1,
1086    #[cfg(feature = "el2")]
1087    /// Fake value for the `VBAR_EL2` system register.
1088    pub vbar_el2: VbarEl2,
1089    /// Fake value for the `VDFSR` system register.
1090    pub vdfsr: Vdfsr,
1091    /// Fake value for the `VDISR` system register.
1092    pub vdisr: Vdisr,
1093    #[cfg(feature = "el2")]
1094    /// Fake value for the `VDISR_EL2` system register.
1095    pub vdisr_el2: VdisrEl2,
1096    /// Fake value for the `VMPIDR` system register.
1097    pub vmpidr: Vmpidr,
1098    #[cfg(feature = "el2")]
1099    /// Fake value for the `VMPIDR_EL2` system register.
1100    pub vmpidr_el2: VmpidrEl2,
1101    /// Fake value for the `VPIDR` system register.
1102    pub vpidr: Vpidr,
1103    #[cfg(feature = "el2")]
1104    /// Fake value for the `VPIDR_EL2` system register.
1105    pub vpidr_el2: VpidrEl2,
1106    #[cfg(feature = "el2")]
1107    /// Fake value for the `VSESR_EL2` system register.
1108    pub vsesr_el2: VsesrEl2,
1109    /// Fake value for the `VTCR` system register.
1110    pub vtcr: Vtcr,
1111    #[cfg(feature = "el2")]
1112    /// Fake value for the `VTCR_EL2` system register.
1113    pub vtcr_el2: VtcrEl2,
1114    /// Fake value for the `VTTBR` system register.
1115    pub vttbr: Vttbr,
1116    #[cfg(feature = "el2")]
1117    /// Fake value for the `VTTBR_EL2` system register.
1118    pub vttbr_el2: VttbrEl2,
1119    #[cfg(feature = "el3")]
1120    /// Fake value for the `ZCR_EL3` system register.
1121    pub zcr_el3: ZcrEl3,
1122}
1123
1124impl SystemRegisters {
1125    pub(crate) const fn new() -> Self {
1126        Self {
1127            actlr: 0,
1128            actlr2: 0,
1129            #[cfg(feature = "el1")]
1130            actlr_el1: 0,
1131            #[cfg(feature = "el2")]
1132            actlr_el2: 0,
1133            adfsr: 0,
1134            #[cfg(feature = "el1")]
1135            afsr0_el1: 0,
1136            #[cfg(feature = "el2")]
1137            afsr0_el2: 0,
1138            #[cfg(feature = "el1")]
1139            afsr1_el1: 0,
1140            #[cfg(feature = "el2")]
1141            afsr1_el2: 0,
1142            aidr: 0,
1143            aifsr: 0,
1144            amair0: 0,
1145            amair1: 0,
1146            #[cfg(feature = "el1")]
1147            amair_el1: 0,
1148            #[cfg(feature = "el2")]
1149            amair_el2: 0,
1150            amcfgr: Amcfgr::empty(),
1151            amcfgr_el0: AmcfgrEl0::empty(),
1152            amcgcr: Amcgcr::empty(),
1153            amcgcr_el0: AmcgcrEl0::empty(),
1154            amcntenclr0: Amcntenclr0::empty(),
1155            amcntenclr0_el0: Amcntenclr0El0::empty(),
1156            amcntenclr1: Amcntenclr1::empty(),
1157            amcntenclr1_el0: Amcntenclr1El0::empty(),
1158            amcntenset0: Amcntenset0::empty(),
1159            amcntenset0_el0: Amcntenset0El0::empty(),
1160            amcntenset1: Amcntenset1::empty(),
1161            amcntenset1_el0: Amcntenset1El0::empty(),
1162            amcr: Amcr::empty(),
1163            amcr_el0: AmcrEl0::empty(),
1164            amevcntr00: Amevcntr00::empty(),
1165            amevcntr00_el0: Amevcntr00El0::empty(),
1166            amevcntr01: Amevcntr01::empty(),
1167            amevcntr01_el0: Amevcntr01El0::empty(),
1168            amevcntr02: Amevcntr02::empty(),
1169            amevcntr02_el0: Amevcntr02El0::empty(),
1170            amevcntr03: Amevcntr03::empty(),
1171            amevcntr03_el0: Amevcntr03El0::empty(),
1172            amevcntr10_el0: Amevcntr10El0::empty(),
1173            amevcntr110_el0: Amevcntr110El0::empty(),
1174            amevcntr111_el0: Amevcntr111El0::empty(),
1175            amevcntr112_el0: Amevcntr112El0::empty(),
1176            amevcntr113_el0: Amevcntr113El0::empty(),
1177            amevcntr114_el0: Amevcntr114El0::empty(),
1178            amevcntr115_el0: Amevcntr115El0::empty(),
1179            amevcntr11_el0: Amevcntr11El0::empty(),
1180            amevcntr12_el0: Amevcntr12El0::empty(),
1181            amevcntr13_el0: Amevcntr13El0::empty(),
1182            amevcntr14_el0: Amevcntr14El0::empty(),
1183            amevcntr15_el0: Amevcntr15El0::empty(),
1184            amevcntr16_el0: Amevcntr16El0::empty(),
1185            amevcntr17_el0: Amevcntr17El0::empty(),
1186            amevcntr18_el0: Amevcntr18El0::empty(),
1187            amevcntr19_el0: Amevcntr19El0::empty(),
1188            amuserenr: Amuserenr::empty(),
1189            amuserenr_el0: AmuserenrEl0::empty(),
1190            #[cfg(feature = "el1")]
1191            apiakeyhi_el1: ApiakeyhiEl1::empty(),
1192            #[cfg(feature = "el1")]
1193            apiakeylo_el1: ApiakeyloEl1::empty(),
1194            ccsidr: Ccsidr::empty(),
1195            ccsidr2: Ccsidr2::empty(),
1196            #[cfg(feature = "el1")]
1197            ccsidr_el1: CcsidrEl1::empty(),
1198            clidr: Clidr::empty(),
1199            #[cfg(feature = "el1")]
1200            clidr_el1: ClidrEl1::empty(),
1201            cntfrq: Cntfrq::empty(),
1202            cntfrq_el0: CntfrqEl0::empty(),
1203            cnthctl: Cnthctl::empty(),
1204            #[cfg(feature = "el2")]
1205            cnthctl_el2: CnthctlEl2::empty(),
1206            cnthps_ctl: CnthpsCtl::empty(),
1207            #[cfg(feature = "el2")]
1208            cnthps_ctl_el2: CnthpsCtlEl2::empty(),
1209            cnthps_cval: CnthpsCval::empty(),
1210            #[cfg(feature = "el2")]
1211            cnthps_cval_el2: CnthpsCvalEl2::empty(),
1212            cnthps_tval: CnthpsTval::empty(),
1213            #[cfg(feature = "el2")]
1214            cnthps_tval_el2: CnthpsTvalEl2::empty(),
1215            cnthp_ctl: CnthpCtl::empty(),
1216            #[cfg(feature = "el2")]
1217            cnthp_ctl_el2: CnthpCtlEl2::empty(),
1218            cnthp_cval: CnthpCval::empty(),
1219            #[cfg(feature = "el2")]
1220            cnthp_cval_el2: CnthpCvalEl2::empty(),
1221            cnthp_tval: CnthpTval::empty(),
1222            #[cfg(feature = "el2")]
1223            cnthp_tval_el2: CnthpTvalEl2::empty(),
1224            cnthvs_ctl: CnthvsCtl::empty(),
1225            #[cfg(feature = "el2")]
1226            cnthvs_ctl_el2: CnthvsCtlEl2::empty(),
1227            cnthvs_cval: CnthvsCval::empty(),
1228            #[cfg(feature = "el2")]
1229            cnthvs_cval_el2: CnthvsCvalEl2::empty(),
1230            cnthvs_tval: CnthvsTval::empty(),
1231            #[cfg(feature = "el2")]
1232            cnthvs_tval_el2: CnthvsTvalEl2::empty(),
1233            cnthv_ctl: CnthvCtl::empty(),
1234            #[cfg(feature = "el2")]
1235            cnthv_ctl_el2: CnthvCtlEl2::empty(),
1236            cnthv_cval: CnthvCval::empty(),
1237            #[cfg(feature = "el2")]
1238            cnthv_cval_el2: CnthvCvalEl2::empty(),
1239            cnthv_tval: CnthvTval::empty(),
1240            #[cfg(feature = "el2")]
1241            cnthv_tval_el2: CnthvTvalEl2::empty(),
1242            cntkctl: Cntkctl::empty(),
1243            #[cfg(feature = "el1")]
1244            cntkctl_el1: CntkctlEl1::empty(),
1245            cntpct: Cntpct::empty(),
1246            cntpctss: Cntpctss::empty(),
1247            cntpctss_el0: CntpctssEl0::empty(),
1248            cntpct_el0: CntpctEl0::empty(),
1249            #[cfg(feature = "el2")]
1250            cntpoff_el2: CntpoffEl2::empty(),
1251            #[cfg(feature = "el1")]
1252            cntps_ctl_el1: CntpsCtlEl1::empty(),
1253            #[cfg(feature = "el1")]
1254            cntps_cval_el1: CntpsCvalEl1::empty(),
1255            #[cfg(feature = "el1")]
1256            cntps_tval_el1: CntpsTvalEl1::empty(),
1257            cntp_ctl: CntpCtl::empty(),
1258            cntp_ctl_el0: CntpCtlEl0::empty(),
1259            cntp_cval: CntpCval::empty(),
1260            cntp_cval_el0: CntpCvalEl0::empty(),
1261            cntp_tval: CntpTval::empty(),
1262            cntp_tval_el0: CntpTvalEl0::empty(),
1263            cntvct: Cntvct::empty(),
1264            cntvctss: Cntvctss::empty(),
1265            cntvctss_el0: CntvctssEl0::empty(),
1266            cntvct_el0: CntvctEl0::empty(),
1267            cntvoff: Cntvoff::empty(),
1268            #[cfg(feature = "el2")]
1269            cntvoff_el2: CntvoffEl2::empty(),
1270            cntv_ctl: CntvCtl::empty(),
1271            cntv_ctl_el0: CntvCtlEl0::empty(),
1272            cntv_cval: CntvCval::empty(),
1273            cntv_cval_el0: CntvCvalEl0::empty(),
1274            cntv_tval: CntvTval::empty(),
1275            cntv_tval_el0: CntvTvalEl0::empty(),
1276            contextidr: Contextidr::empty(),
1277            #[cfg(feature = "el1")]
1278            contextidr_el1: ContextidrEl1::empty(),
1279            #[cfg(feature = "el2")]
1280            contextidr_el2: ContextidrEl2::empty(),
1281            cpacr: Cpacr::empty(),
1282            #[cfg(feature = "el1")]
1283            cpacr_el1: CpacrEl1::empty(),
1284            #[cfg(feature = "el2")]
1285            cptr_el2: CptrEl2::empty(),
1286            #[cfg(feature = "el3")]
1287            cptr_el3: CptrEl3::empty(),
1288            csselr: Csselr::empty(),
1289            #[cfg(feature = "el1")]
1290            csselr_el1: CsselrEl1::empty(),
1291            ctr: Ctr::empty(),
1292            ctr_el0: CtrEl0::empty(),
1293            currentel: Currentel::empty(),
1294            dacr: Dacr::empty(),
1295            dbgauthstatus: Dbgauthstatus::empty(),
1296            dbgclaimclr: Dbgclaimclr::empty(),
1297            dbgclaimset: Dbgclaimset::empty(),
1298            dbgdccint: Dbgdccint::empty(),
1299            dbgdevid: Dbgdevid::empty(),
1300            dbgdevid1: Dbgdevid1::empty(),
1301            dbgdevid2: 0,
1302            dbgdidr: Dbgdidr::empty(),
1303            dbgdrar: Dbgdrar::empty(),
1304            dbgdsar: 0,
1305            dbgdscrext: Dbgdscrext::empty(),
1306            dbgdscrint: Dbgdscrint::empty(),
1307            dbgdtrrxext: Dbgdtrrxext::empty(),
1308            dbgdtrrxint: Dbgdtrrxint::empty(),
1309            dbgdtrtxext: Dbgdtrtxext::empty(),
1310            dbgdtrtxint: Dbgdtrtxint::empty(),
1311            dbgosdlr: Dbgosdlr::empty(),
1312            dbgoseccr: Dbgoseccr::empty(),
1313            dbgoslar: Dbgoslar::empty(),
1314            dbgoslsr: Dbgoslsr::empty(),
1315            dbgprcr: Dbgprcr::empty(),
1316            dbgvcr: Dbgvcr::empty(),
1317            dbgwfar: 0,
1318            dfar: Dfar::empty(),
1319            dfsr: Dfsr::empty(),
1320            disr: Disr::empty(),
1321            #[cfg(feature = "el1")]
1322            disr_el1: DisrEl1::empty(),
1323            dit: Dit::empty(),
1324            dlr: Dlr::empty(),
1325            dspsr: Dspsr::empty(),
1326            dspsr2: Dspsr2::empty(),
1327            #[cfg(feature = "el1")]
1328            elr_el1: ElrEl1::empty(),
1329            #[cfg(feature = "el2")]
1330            elr_el2: ElrEl2::empty(),
1331            #[cfg(feature = "el2")]
1332            elr_hyp: ElrHyp::empty(),
1333            erridr: Erridr::empty(),
1334            errselr: Errselr::empty(),
1335            erxaddr: Erxaddr::empty(),
1336            erxaddr2: Erxaddr2::empty(),
1337            erxctlr: Erxctlr::empty(),
1338            erxctlr2: Erxctlr2::empty(),
1339            erxfr: Erxfr::empty(),
1340            erxfr2: Erxfr2::empty(),
1341            erxmisc0: Erxmisc0::empty(),
1342            erxmisc1: Erxmisc1::empty(),
1343            erxmisc2: Erxmisc2::empty(),
1344            erxmisc3: Erxmisc3::empty(),
1345            erxmisc4: Erxmisc4::empty(),
1346            erxmisc5: Erxmisc5::empty(),
1347            erxmisc6: Erxmisc6::empty(),
1348            erxmisc7: Erxmisc7::empty(),
1349            erxstatus: Erxstatus::empty(),
1350            #[cfg(feature = "el1")]
1351            esr_el1: EsrEl1::empty(),
1352            #[cfg(feature = "el2")]
1353            esr_el2: EsrEl2::empty(),
1354            #[cfg(feature = "el3")]
1355            esr_el3: EsrEl3::empty(),
1356            #[cfg(feature = "el1")]
1357            far_el1: FarEl1::empty(),
1358            #[cfg(feature = "el2")]
1359            far_el2: FarEl2::empty(),
1360            fcseidr: 0,
1361            #[cfg(feature = "el1")]
1362            gcr_el1: GcrEl1::empty(),
1363            #[cfg(feature = "el1")]
1364            gcscr_el1: GcscrEl1::empty(),
1365            #[cfg(feature = "el2")]
1366            gcscr_el2: GcscrEl2::empty(),
1367            #[cfg(feature = "el3")]
1368            gpccr_el3: GpccrEl3::empty(),
1369            #[cfg(feature = "el3")]
1370            gptbr_el3: GptbrEl3::empty(),
1371            hacr: 0,
1372            #[cfg(feature = "el2")]
1373            hacr_el2: 0,
1374            hactlr: 0,
1375            hactlr2: 0,
1376            hadfsr: 0,
1377            #[cfg(feature = "el2")]
1378            hafgrtr_el2: HafgrtrEl2::empty(),
1379            haifsr: 0,
1380            hamair0: 0,
1381            hamair1: 0,
1382            hcptr: Hcptr::empty(),
1383            hcr: Hcr::empty(),
1384            hcr2: Hcr2::empty(),
1385            #[cfg(feature = "el2")]
1386            hcrx_el2: HcrxEl2::empty(),
1387            #[cfg(feature = "el2")]
1388            hcr_el2: HcrEl2::empty(),
1389            hdcr: Hdcr::empty(),
1390            hdfar: Hdfar::empty(),
1391            #[cfg(feature = "el2")]
1392            hdfgrtr2_el2: Hdfgrtr2El2::empty(),
1393            #[cfg(feature = "el2")]
1394            hdfgrtr_el2: HdfgrtrEl2::empty(),
1395            #[cfg(feature = "el2")]
1396            hdfgwtr2_el2: Hdfgwtr2El2::empty(),
1397            #[cfg(feature = "el2")]
1398            hdfgwtr_el2: HdfgwtrEl2::empty(),
1399            #[cfg(feature = "el2")]
1400            hfgitr2_el2: Hfgitr2El2::empty(),
1401            #[cfg(feature = "el2")]
1402            hfgitr_el2: HfgitrEl2::empty(),
1403            #[cfg(feature = "el2")]
1404            hfgrtr2_el2: Hfgrtr2El2::empty(),
1405            #[cfg(feature = "el2")]
1406            hfgrtr_el2: HfgrtrEl2::empty(),
1407            #[cfg(feature = "el2")]
1408            hfgwtr2_el2: Hfgwtr2El2::empty(),
1409            #[cfg(feature = "el2")]
1410            hfgwtr_el2: HfgwtrEl2::empty(),
1411            hifar: Hifar::empty(),
1412            hmair0: Hmair0::empty(),
1413            hmair1: Hmair1::empty(),
1414            hpfar: Hpfar::empty(),
1415            #[cfg(feature = "el2")]
1416            hpfar_el2: HpfarEl2::empty(),
1417            hrmr: Hrmr::empty(),
1418            hsctlr: Hsctlr::empty(),
1419            hsr: Hsr::empty(),
1420            hstr: 0,
1421            #[cfg(feature = "el2")]
1422            hstr_el2: 0,
1423            htcr: Htcr::empty(),
1424            htpidr: Htpidr::empty(),
1425            htrfcr: Htrfcr::empty(),
1426            httbr: Httbr::empty(),
1427            hvbar: Hvbar::empty(),
1428            #[cfg(feature = "el1")]
1429            icc_ap0r0_el1: 0,
1430            #[cfg(feature = "el1")]
1431            icc_ap0r1_el1: 0,
1432            #[cfg(feature = "el1")]
1433            icc_ap0r2_el1: 0,
1434            #[cfg(feature = "el1")]
1435            icc_ap0r3_el1: 0,
1436            #[cfg(feature = "el1")]
1437            icc_ap1r0_el1: IccAp1r0El1::empty(),
1438            #[cfg(feature = "el1")]
1439            icc_ap1r1_el1: 0,
1440            #[cfg(feature = "el1")]
1441            icc_ap1r2_el1: 0,
1442            #[cfg(feature = "el1")]
1443            icc_ap1r3_el1: 0,
1444            icc_asgi1r: IccAsgi1r::empty(),
1445            #[cfg(feature = "el1")]
1446            icc_asgi1r_el1: IccAsgi1rEl1::empty(),
1447            icc_bpr0: IccBpr0::empty(),
1448            #[cfg(feature = "el1")]
1449            icc_bpr0_el1: IccBpr0El1::empty(),
1450            icc_bpr1: IccBpr1::empty(),
1451            #[cfg(feature = "el1")]
1452            icc_bpr1_el1: IccBpr1El1::empty(),
1453            icc_ctlr: IccCtlr::empty(),
1454            #[cfg(feature = "el1")]
1455            icc_ctlr_el1: IccCtlrEl1::empty(),
1456            #[cfg(feature = "el3")]
1457            icc_ctlr_el3: IccCtlrEl3::empty(),
1458            icc_dir: IccDir::empty(),
1459            #[cfg(feature = "el1")]
1460            icc_dir_el1: IccDirEl1::empty(),
1461            icc_eoir0: IccEoir0::empty(),
1462            #[cfg(feature = "el1")]
1463            icc_eoir0_el1: IccEoir0El1::empty(),
1464            icc_eoir1: IccEoir1::empty(),
1465            #[cfg(feature = "el1")]
1466            icc_eoir1_el1: IccEoir1El1::empty(),
1467            icc_hppir0: IccHppir0::empty(),
1468            #[cfg(feature = "el1")]
1469            icc_hppir0_el1: IccHppir0El1::empty(),
1470            icc_hppir1: IccHppir1::empty(),
1471            #[cfg(feature = "el1")]
1472            icc_hppir1_el1: IccHppir1El1::empty(),
1473            icc_hsre: IccHsre::empty(),
1474            icc_iar0: IccIar0::empty(),
1475            #[cfg(feature = "el1")]
1476            icc_iar0_el1: IccIar0El1::empty(),
1477            icc_iar1: IccIar1::empty(),
1478            #[cfg(feature = "el1")]
1479            icc_iar1_el1: IccIar1El1::empty(),
1480            icc_igrpen0: IccIgrpen0::empty(),
1481            #[cfg(feature = "el1")]
1482            icc_igrpen0_el1: IccIgrpen0El1::empty(),
1483            icc_igrpen1: IccIgrpen1::empty(),
1484            #[cfg(feature = "el1")]
1485            icc_igrpen1_el1: IccIgrpen1El1::empty(),
1486            #[cfg(feature = "el3")]
1487            icc_igrpen1_el3: IccIgrpen1El3::empty(),
1488            icc_mctlr: IccMctlr::empty(),
1489            icc_mgrpen1: IccMgrpen1::empty(),
1490            icc_msre: IccMsre::empty(),
1491            #[cfg(feature = "el1")]
1492            icc_nmiar1_el1: IccNmiar1El1::empty(),
1493            icc_pmr: IccPmr::empty(),
1494            #[cfg(feature = "el1")]
1495            icc_pmr_el1: IccPmrEl1::empty(),
1496            icc_rpr: IccRpr::empty(),
1497            #[cfg(feature = "el1")]
1498            icc_rpr_el1: IccRprEl1::empty(),
1499            icc_sgi0r: IccSgi0r::empty(),
1500            #[cfg(feature = "el1")]
1501            icc_sgi0r_el1: IccSgi0rEl1::empty(),
1502            icc_sgi1r: IccSgi1r::empty(),
1503            #[cfg(feature = "el1")]
1504            icc_sgi1r_el1: IccSgi1rEl1::empty(),
1505            icc_sre: IccSre::empty(),
1506            #[cfg(feature = "el1")]
1507            icc_sre_el1: IccSreEl1::empty(),
1508            #[cfg(feature = "el2")]
1509            icc_sre_el2: IccSreEl2::empty(),
1510            #[cfg(feature = "el3")]
1511            icc_sre_el3: IccSreEl3::empty(),
1512            #[cfg(feature = "el2")]
1513            ich_hcr_el2: IchHcrEl2::empty(),
1514            #[cfg(feature = "el2")]
1515            ich_vmcr_el2: IchVmcrEl2::empty(),
1516            #[cfg(feature = "el1")]
1517            id_aa64dfr0_el1: IdAa64dfr0El1::empty(),
1518            #[cfg(feature = "el1")]
1519            id_aa64dfr1_el1: IdAa64dfr1El1::empty(),
1520            #[cfg(feature = "el1")]
1521            id_aa64isar1_el1: IdAa64isar1El1::empty(),
1522            #[cfg(feature = "el1")]
1523            id_aa64isar2_el1: IdAa64isar2El1::empty(),
1524            #[cfg(feature = "el1")]
1525            id_aa64mmfr0_el1: IdAa64mmfr0El1::empty(),
1526            #[cfg(feature = "el1")]
1527            id_aa64mmfr1_el1: IdAa64mmfr1El1::empty(),
1528            #[cfg(feature = "el1")]
1529            id_aa64mmfr2_el1: IdAa64mmfr2El1::empty(),
1530            #[cfg(feature = "el1")]
1531            id_aa64mmfr3_el1: IdAa64mmfr3El1::empty(),
1532            #[cfg(feature = "el1")]
1533            id_aa64pfr0_el1: IdAa64pfr0El1::empty(),
1534            #[cfg(feature = "el1")]
1535            id_aa64pfr1_el1: IdAa64pfr1El1::empty(),
1536            #[cfg(feature = "el1")]
1537            id_aa64smfr0_el1: IdAa64smfr0El1::empty(),
1538            id_afr0: 0,
1539            id_dfr0: IdDfr0::empty(),
1540            id_dfr1: IdDfr1::empty(),
1541            id_isar0: IdIsar0::empty(),
1542            id_isar1: IdIsar1::empty(),
1543            id_isar2: IdIsar2::empty(),
1544            id_isar3: IdIsar3::empty(),
1545            id_isar4: IdIsar4::empty(),
1546            id_isar5: IdIsar5::empty(),
1547            id_isar6: IdIsar6::empty(),
1548            id_mmfr0: IdMmfr0::empty(),
1549            id_mmfr1: IdMmfr1::empty(),
1550            id_mmfr2: IdMmfr2::empty(),
1551            id_mmfr3: IdMmfr3::empty(),
1552            id_mmfr4: IdMmfr4::empty(),
1553            id_mmfr5: IdMmfr5::empty(),
1554            id_pfr0: IdPfr0::empty(),
1555            id_pfr1: IdPfr1::empty(),
1556            id_pfr2: IdPfr2::empty(),
1557            ifar: Ifar::empty(),
1558            ifsr: Ifsr::empty(),
1559            isr: Isr::empty(),
1560            #[cfg(feature = "el1")]
1561            isr_el1: IsrEl1::empty(),
1562            jidr: 0,
1563            jmcr: 0,
1564            joscr: 0,
1565            mair0: Mair0::empty(),
1566            mair1: Mair1::empty(),
1567            #[cfg(feature = "el1")]
1568            mair_el1: MairEl1::empty(),
1569            #[cfg(feature = "el2")]
1570            mair_el2: MairEl2::empty(),
1571            #[cfg(feature = "el3")]
1572            mair_el3: MairEl3::empty(),
1573            #[cfg(feature = "el1")]
1574            mdccint_el1: MdccintEl1::empty(),
1575            #[cfg(feature = "el2")]
1576            mdcr_el2: MdcrEl2::empty(),
1577            #[cfg(feature = "el3")]
1578            mdcr_el3: MdcrEl3::empty(),
1579            #[cfg(feature = "el1")]
1580            mdscr_el1: MdscrEl1::empty(),
1581            midr: Midr::empty(),
1582            #[cfg(feature = "el1")]
1583            midr_el1: MidrEl1::empty(),
1584            #[cfg(feature = "el2")]
1585            mpam2_el2: Mpam2El2::empty(),
1586            #[cfg(feature = "el3")]
1587            mpam3_el3: Mpam3El3::empty(),
1588            #[cfg(feature = "el2")]
1589            mpamhcr_el2: MpamhcrEl2::empty(),
1590            #[cfg(feature = "el1")]
1591            mpamidr_el1: MpamidrEl1::empty(),
1592            #[cfg(feature = "el2")]
1593            mpamvpm0_el2: Mpamvpm0El2::empty(),
1594            #[cfg(feature = "el2")]
1595            mpamvpm1_el2: Mpamvpm1El2::empty(),
1596            #[cfg(feature = "el2")]
1597            mpamvpm2_el2: Mpamvpm2El2::empty(),
1598            #[cfg(feature = "el2")]
1599            mpamvpm3_el2: Mpamvpm3El2::empty(),
1600            #[cfg(feature = "el2")]
1601            mpamvpm4_el2: Mpamvpm4El2::empty(),
1602            #[cfg(feature = "el2")]
1603            mpamvpm5_el2: Mpamvpm5El2::empty(),
1604            #[cfg(feature = "el2")]
1605            mpamvpm6_el2: Mpamvpm6El2::empty(),
1606            #[cfg(feature = "el2")]
1607            mpamvpm7_el2: Mpamvpm7El2::empty(),
1608            #[cfg(feature = "el2")]
1609            mpamvpmv_el2: MpamvpmvEl2::empty(),
1610            mpidr: Mpidr::empty(),
1611            #[cfg(feature = "el1")]
1612            mpidr_el1: MpidrEl1::empty(),
1613            mvbar: Mvbar::empty(),
1614            nmrr: Nmrr::empty(),
1615            nsacr: Nsacr::empty(),
1616            par: Par::empty(),
1617            #[cfg(feature = "el1")]
1618            par_el1: ParEl1::empty(),
1619            pmccfiltr: Pmccfiltr::empty(),
1620            pmccntr: Pmccntr::empty(),
1621            pmceid0: Pmceid0::empty(),
1622            pmceid1: Pmceid1::empty(),
1623            pmceid2: Pmceid2::empty(),
1624            pmceid3: Pmceid3::empty(),
1625            pmcntenclr: Pmcntenclr::empty(),
1626            pmcntenset: Pmcntenset::empty(),
1627            pmcr: Pmcr::empty(),
1628            pmcr_el0: PmcrEl0::empty(),
1629            pmintenclr: Pmintenclr::empty(),
1630            pmintenset: Pmintenset::empty(),
1631            pmmir: Pmmir::empty(),
1632            pmovsr: Pmovsr::empty(),
1633            pmovsset: Pmovsset::empty(),
1634            pmselr: Pmselr::empty(),
1635            pmswinc: Pmswinc::empty(),
1636            pmuserenr: Pmuserenr::empty(),
1637            pmxevtyper: Pmxevtyper::empty(),
1638            prrr: Prrr::empty(),
1639            revidr: 0,
1640            #[cfg(feature = "el1")]
1641            rgsr_el1: RgsrEl1::empty(),
1642            rmr: Rmr::empty(),
1643            rvbar: Rvbar::empty(),
1644            scr: Scr::empty(),
1645            #[cfg(feature = "el3")]
1646            scr_el3: ScrEl3::empty(),
1647            sctlr: Sctlr::empty(),
1648            #[cfg(feature = "el3")]
1649            sctlr2_el3: Sctlr2El3::empty(),
1650            #[cfg(feature = "el1")]
1651            sctlr_el1: SctlrEl1::empty(),
1652            #[cfg(feature = "el2")]
1653            sctlr_el2: SctlrEl2::empty(),
1654            #[cfg(feature = "el3")]
1655            sctlr_el3: SctlrEl3::empty(),
1656            sdcr: Sdcr::empty(),
1657            sder: Sder::empty(),
1658            #[cfg(feature = "el3")]
1659            smcr_el3: SmcrEl3::empty(),
1660            #[cfg(feature = "el1")]
1661            spsr_el1: SpsrEl1::empty(),
1662            #[cfg(feature = "el2")]
1663            spsr_el2: SpsrEl2::empty(),
1664            #[cfg(feature = "el3")]
1665            spsr_el3: SpsrEl3::empty(),
1666            #[cfg(feature = "el1")]
1667            sp_el1: SpEl1::empty(),
1668            #[cfg(feature = "el2")]
1669            sp_el2: SpEl2::empty(),
1670            svcr: Svcr::empty(),
1671            tcmtr: 0,
1672            #[cfg(feature = "el1")]
1673            tcr2_el1: Tcr2El1::empty(),
1674            #[cfg(feature = "el2")]
1675            tcr2_el2: Tcr2El2::empty(),
1676            #[cfg(feature = "el1")]
1677            tcr_el1: TcrEl1::empty(),
1678            #[cfg(feature = "el2")]
1679            tcr_el2: TcrEl2::empty(),
1680            #[cfg(feature = "el3")]
1681            tcr_el3: TcrEl3::empty(),
1682            #[cfg(feature = "el1")]
1683            tfsre0_el1: Tfsre0El1::empty(),
1684            #[cfg(feature = "el1")]
1685            tfsr_el1: TfsrEl1::empty(),
1686            #[cfg(feature = "el2")]
1687            tfsr_el2: TfsrEl2::empty(),
1688            tlbtr: Tlbtr::empty(),
1689            tpidrprw: Tpidrprw::empty(),
1690            tpidrro_el0: TpidrroEl0::empty(),
1691            tpidruro: Tpidruro::empty(),
1692            tpidrurw: Tpidrurw::empty(),
1693            tpidr_el0: TpidrEl0::empty(),
1694            #[cfg(feature = "el1")]
1695            tpidr_el1: TpidrEl1::empty(),
1696            #[cfg(feature = "el2")]
1697            tpidr_el2: TpidrEl2::empty(),
1698            #[cfg(feature = "el3")]
1699            tpidr_el3: TpidrEl3::empty(),
1700            trfcr: Trfcr::empty(),
1701            ttbcr: Ttbcr::empty(),
1702            ttbcr2: Ttbcr2::empty(),
1703            ttbr0: Ttbr0::empty(),
1704            #[cfg(feature = "el1")]
1705            ttbr0_el1: Ttbr0El1::empty(),
1706            #[cfg(feature = "el2")]
1707            ttbr0_el2: Ttbr0El2::empty(),
1708            #[cfg(feature = "el3")]
1709            ttbr0_el3: Ttbr0El3::empty(),
1710            ttbr1: Ttbr1::empty(),
1711            #[cfg(feature = "el1")]
1712            ttbr1_el1: Ttbr1El1::empty(),
1713            #[cfg(feature = "el2")]
1714            ttbr1_el2: Ttbr1El2::empty(),
1715            vbar: Vbar::empty(),
1716            #[cfg(feature = "el1")]
1717            vbar_el1: VbarEl1::empty(),
1718            #[cfg(feature = "el2")]
1719            vbar_el2: VbarEl2::empty(),
1720            vdfsr: Vdfsr::empty(),
1721            vdisr: Vdisr::empty(),
1722            #[cfg(feature = "el2")]
1723            vdisr_el2: VdisrEl2::empty(),
1724            vmpidr: Vmpidr::empty(),
1725            #[cfg(feature = "el2")]
1726            vmpidr_el2: VmpidrEl2::empty(),
1727            vpidr: Vpidr::empty(),
1728            #[cfg(feature = "el2")]
1729            vpidr_el2: VpidrEl2::empty(),
1730            #[cfg(feature = "el2")]
1731            vsesr_el2: VsesrEl2::empty(),
1732            vtcr: Vtcr::empty(),
1733            #[cfg(feature = "el2")]
1734            vtcr_el2: VtcrEl2::empty(),
1735            vttbr: Vttbr::empty(),
1736            #[cfg(feature = "el2")]
1737            vttbr_el2: VttbrEl2::empty(),
1738            #[cfg(feature = "el3")]
1739            zcr_el3: ZcrEl3::empty(),
1740        }
1741    }
1742}