Module Name:    src
Committed By:   matt
Date:           Tue Sep 11 15:31:54 UTC 2012

Modified Files:
        src/sys/arch/arm/include: armreg.h

Log Message:
Add more c7 register inlines.  Add some more CT4 defintions


To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/arm/include/armreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/include/armreg.h
diff -u src/sys/arch/arm/include/armreg.h:1.64 src/sys/arch/arm/include/armreg.h:1.65
--- src/sys/arch/arm/include/armreg.h:1.64	Fri Sep  7 11:48:59 2012
+++ src/sys/arch/arm/include/armreg.h	Tue Sep 11 15:31:54 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: armreg.h,v 1.64 2012/09/07 11:48:59 matt Exp $	*/
+/*	$NetBSD: armreg.h,v 1.65 2012/09/11 15:31:54 matt Exp $	*/
 
 /*
  * Copyright (c) 1998, 2001 Ben Harris
@@ -416,7 +416,11 @@
 #define	CPU_CT4_ILINE(x)	((x) & 0xf)		/* I$ line size */
 #define	CPU_CT4_DLINE(x)	(((x) >> 16) & 0xf)	/* D$ line size */
 #define	CPU_CT4_L1IPOLICY(x)	(((x) >> 14) & 0x3)	/* I$ policy */
+#define	CPU_CT4_L1_AIVIVT	1			/* ASID tagged VIVT */
 #define	CPU_CT4_L1_VIPT		2			/* VIPT */
+#define	CPU_CT4_L1_PIPT		3			/* PIPT */
+#define	CPU_CT4_ERG(x)		(((x) >> 20) & 0xf)	/* Cache WriteBack Granule */
+#define	CPU_CT4_CWG(x)		(((x) >> 24) & 0xf)	/* Exclusive Resv. Granule */
 
 /* Cache size identifaction register definitions 1, Rd, c0, c0, 0 */
 #define	CPU_CSID_CTYPE_WT	0x80000000	/* write-through avail */ 
@@ -572,6 +576,24 @@ ARMREG_READ_INLINE(ttbr1, "p15,0,%0,c2,c
 ARMREG_WRITE_INLINE(ttbr1, "p15,0,%0,c2,c0,1") /* Translation Table Base Register 1 */
 ARMREG_READ_INLINE(ttbcr, "p15,0,%0,c2,c0,2") /* Translation Table Base Register */
 ARMREG_WRITE_INLINE(ttbcr, "p15,0,%0,c2,c0,2") /* Translation Table Base Register */
+/* c7 registers */
+ARMREG_WRITE_INLINE(icialluis, "p15,0,%0,c7,c1,0") /* Instruction Inv All (IS) */
+ARMREG_WRITE_INLINE(bpiallis, "p15,0,%0,c7,c1,6") /* Branch Invalidate All (IS) */
+ARMREG_READ_INLINE(par, "p15,0,%0,c7,c4,0") /* Physical Address Register */
+ARMREG_WRITE_INLINE(iciallu, "p15,0,%0,c7,c5,0") /* Instruction Invalidate All */
+ARMREG_WRITE_INLINE(icimvau, "p15,0,%0,c7,c5,1") /* Instruction Invalidate MVA */
+ARMREG_WRITE_INLINE(isb, "p15,0,%0,c7,c5,4") /* Instruction Synchronization Barrier */
+ARMREG_WRITE_INLINE(bpiall, "p15,0,%0,c5,c1,6") /* Breakpoint Invalidate All */
+ARMREG_WRITE_INLINE(dcimvac, "p15,0,%0,c7,c6,1") /* Data Invalidate MVA to PoC */
+ARMREG_WRITE_INLINE(dcisw, "p15,0,%0,c7,c6,2") /* Data Invalidate Set/Way */
+ARMREG_WRITE_INLINE(ats1cpr, "p15,0,%0,c7,c8,0") /* AddrTrans CurState PL1 Read */
+ARMREG_WRITE_INLINE(dccmvac, "p15,0,%0,c7,c10,1") /* Data Clean MVA to PoC */
+ARMREG_WRITE_INLINE(dccsw, "p15,0,%0,c7,c10,2") /* Data Clean Set/Way */
+ARMREG_WRITE_INLINE(dsb, "p15,0,%0,c7,c10,4") /* Data Synchronization Barrier */
+ARMREG_WRITE_INLINE(dmb, "p15,0,%0,c7,c10,5") /* Data Memory Barrier */
+ARMREG_WRITE_INLINE(dccmvau, "p15,0,%0,c7,c14,1") /* Data Clean MVA to PoU */
+ARMREG_WRITE_INLINE(dccimvac, "p15,0,%0,c7,c14,1") /* Data Clean&Inv MVA to PoC */
+ARMREG_WRITE_INLINE(dccisw, "p15,0,%0,c7,c14,2") /* Data Clean&Inv Set/Way */
 /* c9 registers */
 ARMREG_READ_INLINE(pmcr, "p15,0,%0,c9,c12,0") /* PMC Control Register */
 ARMREG_WRITE_INLINE(pmcr, "p15,0,%0,c9,c12,0") /* PMC Control Register */

Reply via email to