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