|
@@ -808,3 +808,142 @@ do { \
|
|
|
|
|
|
|
|
|
/* V2PSR */
|
|
|
+#define GET_HIT(b, c) GET_CONTEXT_FIELD(b, c, V2PSR, HIT)
|
|
|
+#define GET_INDEX(b, c) GET_CONTEXT_FIELD(b, c, V2PSR, INDEX)
|
|
|
+
|
|
|
+
|
|
|
+/* Global Registers */
|
|
|
+#define M2VCBR_N (0xFF000)
|
|
|
+#define CBACR_N (0xFF800)
|
|
|
+#define TLBRSW (0xFFE00)
|
|
|
+#define TLBTR0 (0xFFE80)
|
|
|
+#define TLBTR1 (0xFFE84)
|
|
|
+#define TLBTR2 (0xFFE88)
|
|
|
+#define TESTBUSCR (0xFFE8C)
|
|
|
+#define GLOBAL_TLBIALL (0xFFF00)
|
|
|
+#define TLBIVMID (0xFFF04)
|
|
|
+#define CR (0xFFF80)
|
|
|
+#define EAR (0xFFF84)
|
|
|
+#define ESR (0xFFF88)
|
|
|
+#define ESRRESTORE (0xFFF8C)
|
|
|
+#define ESYNR0 (0xFFF90)
|
|
|
+#define ESYNR1 (0xFFF94)
|
|
|
+#define REV (0xFFFF4)
|
|
|
+#define IDR (0xFFFF8)
|
|
|
+#define RPU_ACR (0xFFFFC)
|
|
|
+
|
|
|
+
|
|
|
+/* Context Bank Registers */
|
|
|
+#define SCTLR (0x000)
|
|
|
+#define ACTLR (0x004)
|
|
|
+#define CONTEXTIDR (0x008)
|
|
|
+#define TTBR0 (0x010)
|
|
|
+#define TTBR1 (0x014)
|
|
|
+#define TTBCR (0x018)
|
|
|
+#define PAR (0x01C)
|
|
|
+#define FSR (0x020)
|
|
|
+#define FSRRESTORE (0x024)
|
|
|
+#define FAR (0x028)
|
|
|
+#define FSYNR0 (0x02C)
|
|
|
+#define FSYNR1 (0x030)
|
|
|
+#define PRRR (0x034)
|
|
|
+#define NMRR (0x038)
|
|
|
+#define TLBLCKR (0x03C)
|
|
|
+#define V2PSR (0x040)
|
|
|
+#define TLBFLPTER (0x044)
|
|
|
+#define TLBSLPTER (0x048)
|
|
|
+#define BFBCR (0x04C)
|
|
|
+#define CTX_TLBIALL (0x800)
|
|
|
+#define TLBIASID (0x804)
|
|
|
+#define TLBIVA (0x808)
|
|
|
+#define TLBIVAA (0x80C)
|
|
|
+#define V2PPR (0x810)
|
|
|
+#define V2PPW (0x814)
|
|
|
+#define V2PUR (0x818)
|
|
|
+#define V2PUW (0x81C)
|
|
|
+#define RESUME (0x820)
|
|
|
+
|
|
|
+
|
|
|
+/* Global Register Fields */
|
|
|
+/* CBACRn */
|
|
|
+#define RWVMID (RWVMID_MASK << RWVMID_SHIFT)
|
|
|
+#define RWE (RWE_MASK << RWE_SHIFT)
|
|
|
+#define RWGE (RWGE_MASK << RWGE_SHIFT)
|
|
|
+#define CBVMID (CBVMID_MASK << CBVMID_SHIFT)
|
|
|
+#define IRPTNDX (IRPTNDX_MASK << IRPTNDX_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* CR */
|
|
|
+#define RPUE (RPUE_MASK << RPUE_SHIFT)
|
|
|
+#define RPUERE (RPUERE_MASK << RPUERE_SHIFT)
|
|
|
+#define RPUEIE (RPUEIE_MASK << RPUEIE_SHIFT)
|
|
|
+#define DCDEE (DCDEE_MASK << DCDEE_SHIFT)
|
|
|
+#define CLIENTPD (CLIENTPD_MASK << CLIENTPD_SHIFT)
|
|
|
+#define STALLD (STALLD_MASK << STALLD_SHIFT)
|
|
|
+#define TLBLKCRWE (TLBLKCRWE_MASK << TLBLKCRWE_SHIFT)
|
|
|
+#define CR_TLBIALLCFG (CR_TLBIALLCFG_MASK << CR_TLBIALLCFG_SHIFT)
|
|
|
+#define TLBIVMIDCFG (TLBIVMIDCFG_MASK << TLBIVMIDCFG_SHIFT)
|
|
|
+#define CR_HUME (CR_HUME_MASK << CR_HUME_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* ESR */
|
|
|
+#define CFG (CFG_MASK << CFG_SHIFT)
|
|
|
+#define BYPASS (BYPASS_MASK << BYPASS_SHIFT)
|
|
|
+#define ESR_MULTI (ESR_MULTI_MASK << ESR_MULTI_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* ESYNR0 */
|
|
|
+#define ESYNR0_AMID (ESYNR0_AMID_MASK << ESYNR0_AMID_SHIFT)
|
|
|
+#define ESYNR0_APID (ESYNR0_APID_MASK << ESYNR0_APID_SHIFT)
|
|
|
+#define ESYNR0_ABID (ESYNR0_ABID_MASK << ESYNR0_ABID_SHIFT)
|
|
|
+#define ESYNR0_AVMID (ESYNR0_AVMID_MASK << ESYNR0_AVMID_SHIFT)
|
|
|
+#define ESYNR0_ATID (ESYNR0_ATID_MASK << ESYNR0_ATID_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* ESYNR1 */
|
|
|
+#define ESYNR1_AMEMTYPE (ESYNR1_AMEMTYPE_MASK << ESYNR1_AMEMTYPE_SHIFT)
|
|
|
+#define ESYNR1_ASHARED (ESYNR1_ASHARED_MASK << ESYNR1_ASHARED_SHIFT)
|
|
|
+#define ESYNR1_AINNERSHARED (ESYNR1_AINNERSHARED_MASK<< \
|
|
|
+ ESYNR1_AINNERSHARED_SHIFT)
|
|
|
+#define ESYNR1_APRIV (ESYNR1_APRIV_MASK << ESYNR1_APRIV_SHIFT)
|
|
|
+#define ESYNR1_APROTNS (ESYNR1_APROTNS_MASK << ESYNR1_APROTNS_SHIFT)
|
|
|
+#define ESYNR1_AINST (ESYNR1_AINST_MASK << ESYNR1_AINST_SHIFT)
|
|
|
+#define ESYNR1_AWRITE (ESYNR1_AWRITE_MASK << ESYNR1_AWRITE_SHIFT)
|
|
|
+#define ESYNR1_ABURST (ESYNR1_ABURST_MASK << ESYNR1_ABURST_SHIFT)
|
|
|
+#define ESYNR1_ALEN (ESYNR1_ALEN_MASK << ESYNR1_ALEN_SHIFT)
|
|
|
+#define ESYNR1_ASIZE (ESYNR1_ASIZE_MASK << ESYNR1_ASIZE_SHIFT)
|
|
|
+#define ESYNR1_ALOCK (ESYNR1_ALOCK_MASK << ESYNR1_ALOCK_SHIFT)
|
|
|
+#define ESYNR1_AOOO (ESYNR1_AOOO_MASK << ESYNR1_AOOO_SHIFT)
|
|
|
+#define ESYNR1_AFULL (ESYNR1_AFULL_MASK << ESYNR1_AFULL_SHIFT)
|
|
|
+#define ESYNR1_AC (ESYNR1_AC_MASK << ESYNR1_AC_SHIFT)
|
|
|
+#define ESYNR1_DCD (ESYNR1_DCD_MASK << ESYNR1_DCD_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* IDR */
|
|
|
+#define NM2VCBMT (NM2VCBMT_MASK << NM2VCBMT_SHIFT)
|
|
|
+#define HTW (HTW_MASK << HTW_SHIFT)
|
|
|
+#define HUM (HUM_MASK << HUM_SHIFT)
|
|
|
+#define TLBSIZE (TLBSIZE_MASK << TLBSIZE_SHIFT)
|
|
|
+#define NCB (NCB_MASK << NCB_SHIFT)
|
|
|
+#define NIRPT (NIRPT_MASK << NIRPT_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* M2VCBRn */
|
|
|
+#define VMID (VMID_MASK << VMID_SHIFT)
|
|
|
+#define CBNDX (CBNDX_MASK << CBNDX_SHIFT)
|
|
|
+#define BYPASSD (BYPASSD_MASK << BYPASSD_SHIFT)
|
|
|
+#define BPRCOSH (BPRCOSH_MASK << BPRCOSH_SHIFT)
|
|
|
+#define BPRCISH (BPRCISH_MASK << BPRCISH_SHIFT)
|
|
|
+#define BPRCNSH (BPRCNSH_MASK << BPRCNSH_SHIFT)
|
|
|
+#define BPSHCFG (BPSHCFG_MASK << BPSHCFG_SHIFT)
|
|
|
+#define NSCFG (NSCFG_MASK << NSCFG_SHIFT)
|
|
|
+#define BPMTCFG (BPMTCFG_MASK << BPMTCFG_SHIFT)
|
|
|
+#define BPMEMTYPE (BPMEMTYPE_MASK << BPMEMTYPE_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* REV */
|
|
|
+#define IDR_MINOR (MINOR_MASK << MINOR_SHIFT)
|
|
|
+#define IDR_MAJOR (MAJOR_MASK << MAJOR_SHIFT)
|
|
|
+
|
|
|
+
|
|
|
+/* TESTBUSCR */
|