|
@@ -1127,3 +1127,202 @@ same as the fault fields in the FAR */
|
|
|
#define NOS6 (NOS6_MASK << NOS6_SHIFT)
|
|
|
#define NOS7 (NOS7_MASK << NOS7_SHIFT)
|
|
|
|
|
|
+
|
|
|
+/* RESUME */
|
|
|
+#define TNR (TNR_MASK << TNR_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* SCTLR */
|
|
|
+#define M (M_MASK << M_SHIFT)
|
|
|
+#define TRE (TRE_MASK << TRE_SHIFT)
|
|
|
+#define AFE (AFE_MASK << AFE_SHIFT)
|
|
|
+#define HAF (HAF_MASK << HAF_SHIFT)
|
|
|
+#define BE (BE_MASK << BE_SHIFT)
|
|
|
+#define AFFD (AFFD_MASK << AFFD_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TLBIASID */
|
|
|
+#define TLBIASID_ASID (TLBIASID_ASID_MASK << TLBIASID_ASID_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TLBIVA */
|
|
|
+#define TLBIVA_ASID (TLBIVA_ASID_MASK << TLBIVA_ASID_SHIFT)
|
|
|
+#define TLBIVA_VA (TLBIVA_VA_MASK << TLBIVA_VA_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TLBIVAA */
|
|
|
+#define TLBIVAA_VA (TLBIVAA_VA_MASK << TLBIVAA_VA_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TLBLCKR */
|
|
|
+#define LKE (LKE_MASK << LKE_SHIFT)
|
|
|
+#define TLBLCKR_TLBIALLCFG (TLBLCKR_TLBIALLCFG_MASK<<TLBLCKR_TLBIALLCFG_SHIFT)
|
|
|
+#define TLBIASIDCFG (TLBIASIDCFG_MASK << TLBIASIDCFG_SHIFT)
|
|
|
+#define TLBIVAACFG (TLBIVAACFG_MASK << TLBIVAACFG_SHIFT)
|
|
|
+#define FLOOR (FLOOR_MASK << FLOOR_SHIFT)
|
|
|
+#define VICTIM (VICTIM_MASK << VICTIM_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TTBCR */
|
|
|
+#define N (N_MASK << N_SHIFT)
|
|
|
+#define PD0 (PD0_MASK << PD0_SHIFT)
|
|
|
+#define PD1 (PD1_MASK << PD1_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TTBR0 */
|
|
|
+#define TTBR0_IRGNH (TTBR0_IRGNH_MASK << TTBR0_IRGNH_SHIFT)
|
|
|
+#define TTBR0_SH (TTBR0_SH_MASK << TTBR0_SH_SHIFT)
|
|
|
+#define TTBR0_ORGN (TTBR0_ORGN_MASK << TTBR0_ORGN_SHIFT)
|
|
|
+#define TTBR0_NOS (TTBR0_NOS_MASK << TTBR0_NOS_SHIFT)
|
|
|
+#define TTBR0_IRGNL (TTBR0_IRGNL_MASK << TTBR0_IRGNL_SHIFT)
|
|
|
+#define TTBR0_PA (TTBR0_PA_MASK << TTBR0_PA_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TTBR1 */
|
|
|
+#define TTBR1_IRGNH (TTBR1_IRGNH_MASK << TTBR1_IRGNH_SHIFT)
|
|
|
+#define TTBR1_SH (TTBR1_SH_MASK << TTBR1_SH_SHIFT)
|
|
|
+#define TTBR1_ORGN (TTBR1_ORGN_MASK << TTBR1_ORGN_SHIFT)
|
|
|
+#define TTBR1_NOS (TTBR1_NOS_MASK << TTBR1_NOS_SHIFT)
|
|
|
+#define TTBR1_IRGNL (TTBR1_IRGNL_MASK << TTBR1_IRGNL_SHIFT)
|
|
|
+#define TTBR1_PA (TTBR1_PA_MASK << TTBR1_PA_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* V2PSR */
|
|
|
+#define HIT (HIT_MASK << HIT_SHIFT)
|
|
|
+#define INDEX (INDEX_MASK << INDEX_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* V2Pxx */
|
|
|
+#define V2Pxx_INDEX (V2Pxx_INDEX_MASK << V2Pxx_INDEX_SHIFT)
|
|
|
+#define V2Pxx_VA (V2Pxx_VA_MASK << V2Pxx_VA_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* Global Register Masks */
|
|
|
+/* CBACRn */
|
|
|
+#define RWVMID_MASK 0x1F
|
|
|
+#define RWE_MASK 0x01
|
|
|
+#define RWGE_MASK 0x01
|
|
|
+#define CBVMID_MASK 0x1F
|
|
|
+#define IRPTNDX_MASK 0xFF
|
|
|
+
|
|
|
+
|
|
|
+/* CR */
|
|
|
+#define RPUE_MASK 0x01
|
|
|
+#define RPUERE_MASK 0x01
|
|
|
+#define RPUEIE_MASK 0x01
|
|
|
+#define DCDEE_MASK 0x01
|
|
|
+#define CLIENTPD_MASK 0x01
|
|
|
+#define STALLD_MASK 0x01
|
|
|
+#define TLBLKCRWE_MASK 0x01
|
|
|
+#define CR_TLBIALLCFG_MASK 0x01
|
|
|
+#define TLBIVMIDCFG_MASK 0x01
|
|
|
+#define CR_HUME_MASK 0x01
|
|
|
+
|
|
|
+
|
|
|
+/* ESR */
|
|
|
+#define CFG_MASK 0x01
|
|
|
+#define BYPASS_MASK 0x01
|
|
|
+#define ESR_MULTI_MASK 0x01
|
|
|
+
|
|
|
+
|
|
|
+/* ESYNR0 */
|
|
|
+#define ESYNR0_AMID_MASK 0xFF
|
|
|
+#define ESYNR0_APID_MASK 0x1F
|
|
|
+#define ESYNR0_ABID_MASK 0x07
|
|
|
+#define ESYNR0_AVMID_MASK 0x1F
|
|
|
+#define ESYNR0_ATID_MASK 0xFF
|
|
|
+
|
|
|
+
|
|
|
+/* ESYNR1 */
|
|
|
+#define ESYNR1_AMEMTYPE_MASK 0x07
|
|
|
+#define ESYNR1_ASHARED_MASK 0x01
|
|
|
+#define ESYNR1_AINNERSHARED_MASK 0x01
|
|
|
+#define ESYNR1_APRIV_MASK 0x01
|
|
|
+#define ESYNR1_APROTNS_MASK 0x01
|
|
|
+#define ESYNR1_AINST_MASK 0x01
|
|
|
+#define ESYNR1_AWRITE_MASK 0x01
|
|
|
+#define ESYNR1_ABURST_MASK 0x01
|
|
|
+#define ESYNR1_ALEN_MASK 0x0F
|
|
|
+#define ESYNR1_ASIZE_MASK 0x01
|
|
|
+#define ESYNR1_ALOCK_MASK 0x03
|
|
|
+#define ESYNR1_AOOO_MASK 0x01
|
|
|
+#define ESYNR1_AFULL_MASK 0x01
|
|
|
+#define ESYNR1_AC_MASK 0x01
|
|
|
+#define ESYNR1_DCD_MASK 0x01
|
|
|
+
|
|
|
+
|
|
|
+/* IDR */
|
|
|
+#define NM2VCBMT_MASK 0x1FF
|
|
|
+#define HTW_MASK 0x01
|
|
|
+#define HUM_MASK 0x01
|
|
|
+#define TLBSIZE_MASK 0x0F
|
|
|
+#define NCB_MASK 0xFF
|
|
|
+#define NIRPT_MASK 0xFF
|
|
|
+
|
|
|
+
|
|
|
+/* M2VCBRn */
|
|
|
+#define VMID_MASK 0x1F
|
|
|
+#define CBNDX_MASK 0xFF
|
|
|
+#define BYPASSD_MASK 0x01
|
|
|
+#define BPRCOSH_MASK 0x01
|
|
|
+#define BPRCISH_MASK 0x01
|
|
|
+#define BPRCNSH_MASK 0x01
|
|
|
+#define BPSHCFG_MASK 0x03
|
|
|
+#define NSCFG_MASK 0x03
|
|
|
+#define BPMTCFG_MASK 0x01
|
|
|
+#define BPMEMTYPE_MASK 0x07
|
|
|
+
|
|
|
+
|
|
|
+/* REV */
|
|
|
+#define MINOR_MASK 0x0F
|
|
|
+#define MAJOR_MASK 0x0F
|
|
|
+
|
|
|
+
|
|
|
+/* TESTBUSCR */
|
|
|
+#define TBE_MASK 0x01
|
|
|
+#define SPDMBE_MASK 0x01
|
|
|
+#define WGSEL_MASK 0x03
|
|
|
+#define TBLSEL_MASK 0x03
|
|
|
+#define TBHSEL_MASK 0x03
|
|
|
+#define SPDM0SEL_MASK 0x0F
|
|
|
+#define SPDM1SEL_MASK 0x0F
|
|
|
+#define SPDM2SEL_MASK 0x0F
|
|
|
+#define SPDM3SEL_MASK 0x0F
|
|
|
+
|
|
|
+
|
|
|
+/* TLBIMID */
|
|
|
+#define TLBIVMID_VMID_MASK 0x1F
|
|
|
+
|
|
|
+
|
|
|
+/* TLBRSW */
|
|
|
+#define TLBRSW_INDEX_MASK 0xFF
|
|
|
+#define TLBBFBS_MASK 0x03
|
|
|
+
|
|
|
+
|
|
|
+/* TLBTR0 */
|
|
|
+#define PR_MASK 0x01
|
|
|
+#define PW_MASK 0x01
|
|
|
+#define UR_MASK 0x01
|
|
|
+#define UW_MASK 0x01
|
|
|
+#define XN_MASK 0x01
|
|
|
+#define NSDESC_MASK 0x01
|
|
|
+#define ISH_MASK 0x01
|
|
|
+#define SH_MASK 0x01
|
|
|
+#define MT_MASK 0x07
|
|
|
+#define DPSIZR_MASK 0x07
|
|
|
+#define DPSIZC_MASK 0x07
|
|
|
+
|
|
|
+
|
|
|
+/* TLBTR1 */
|
|
|
+#define TLBTR1_VMID_MASK 0x1F
|
|
|
+#define TLBTR1_PA_MASK 0x000FFFFF
|
|
|
+
|
|
|
+
|
|
|
+/* TLBTR2 */
|
|
|
+#define TLBTR2_ASID_MASK 0xFF
|
|
|
+#define TLBTR2_V_MASK 0x01
|
|
|
+#define TLBTR2_NSTID_MASK 0x01
|
|
|
+#define TLBTR2_NV_MASK 0x01
|
|
|
+#define TLBTR2_VA_MASK 0x000FFFFF
|
|
|
+
|
|
|
+
|