Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm/include Add more c7 register inlines. Add some...
details: https://anonhg.NetBSD.org/src/rev/cddf3a3d8096
branches: trunk
changeset: 781504:cddf3a3d8096
user: matt <matt%NetBSD.org@localhost>
date: Tue Sep 11 15:31:54 2012 +0000
description:
Add more c7 register inlines. Add some more CT4 defintions
diffstat:
sys/arch/arm/include/armreg.h | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
diffs (46 lines):
diff -r 9e7b0558c33e -r cddf3a3d8096 sys/arch/arm/include/armreg.h
--- a/sys/arch/arm/include/armreg.h Tue Sep 11 15:28:14 2012 +0000
+++ b/sys/arch/arm/include/armreg.h Tue Sep 11 15:31:54 2012 +0000
@@ -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_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 */
Home |
Main Index |
Thread Index |
Old Index