Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/arm32 Add ARM_MMU_EXTENDED support.



details:   https://anonhg.NetBSD.org/src/rev/6820155e75f0
branches:  trunk
changeset: 328182:6820155e75f0
user:      matt <matt%NetBSD.org@localhost>
date:      Fri Mar 28 21:56:02 2014 +0000

description:
Add ARM_MMU_EXTENDED support.

diffstat:

 sys/arch/arm/arm32/genassym.cf |  20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diffs (75 lines):

diff -r 98e33f534472 -r 6820155e75f0 sys/arch/arm/arm32/genassym.cf
--- a/sys/arch/arm/arm32/genassym.cf    Fri Mar 28 21:54:12 2014 +0000
+++ b/sys/arch/arm/arm32/genassym.cf    Fri Mar 28 21:56:02 2014 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: genassym.cf,v 1.67 2014/02/26 02:07:58 matt Exp $
+#      $NetBSD: genassym.cf,v 1.68 2014/03/28 21:56:02 matt Exp $
 
 # Copyright (c) 1982, 1990 The Regents of the University of California.
 # All rights reserved.
@@ -48,6 +48,7 @@
 include <arm/fiq.h>
 include <arm/vfpreg.h>
 include <arm/locore.h>
+include <arm/undefined.h>
 
 include <arm/arm32/pte.h>
 include <machine/pmap.h>
@@ -81,6 +82,10 @@
 define __HAVE_UNNESTED_INTRS   1
 endif
 
+ifdef ARM_MMU_EXTENDED
+define  ARM_MMU_EXTENDED       1
+endif
+
 define KERNEL_BASE             KERNEL_BASE
 define VM_MIN_ADDRESS          VM_MIN_ADDRESS
 define VM_MAXUSER_ADDRESS      VM_MAXUSER_ADDRESS
@@ -90,6 +95,12 @@
 define PV_PA                   offsetof(pv_addr_t, pv_pa)
 define PMAP_DOMAIN_KERNEL      PMAP_DOMAIN_KERNEL
 define DOMAIN_CLIENT           DOMAIN_CLIENT
+ifdef ARM_MMU_EXTENDED
+define DOMAIN_DEFAULT          ((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | (DOMAIN_CLIENT << (PMAP_DOMAIN_USER*2)))
+else 
+define DOMAIN_DEFAULT          ((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT)
+endif
+
 define L1_S_PROTO_generic      L1_S_PROTO_generic
 define L1_S_PROTO_armv7        L1_S_PROTO_armv7
 define L1_S_PROTO_xscale       L1_S_PROTO_xscale
@@ -99,12 +110,15 @@
 define L1_S_FRAME              L1_S_FRAME
 define L1_S_SHIFT              L1_S_SHIFT
 define L1_S_SIZE               L1_S_SIZE
+define L1_S_CACHEABLE          L1_S_C|L1_S_B|L1_S_V6_S
 define L1_S_B                  L1_S_B
 define L1_S_C                  L1_S_C
 define L1_S_V6_S               L1_S_V6_S
+define L1_S_V6_XN              L1_S_V6_XN
 define L1_S_AP_KR              L1_S_AP(AP_KR)
 define L1_S_AP_KRW             L1_S_AP(AP_KRW)
 define L1_S_APv7_KRW           L1_S_AP(AP7_KRW)
+define L1_S_DOM_MASK           L1_S_DOM_MASK
 define L1_TABLE_SIZE           L1_TABLE_SIZE
 define L1_TYPE_S               L1_TYPE_S
 define L1_S_DOM_KERNEL         L1_S_DOM(PMAP_DOMAIN_KERNEL)
@@ -118,6 +132,8 @@
 define L2_C                    L2_C
 define L2_AP_KRW               L2_AP(AP_KRW)
 
+define TTBCR_S_N_1             __SHIFTIN(1, TTBCR_S_N)
+
 ifdef PMAP_INCLUDE_PTE_SYNC
 define PMAP_INCLUDE_PTE_SYNC   1
 endif
@@ -217,6 +233,8 @@
 
 define VFP_FPEXC_EN            VFP_FPEXC_EN
 
+define NSACR_VFPCP             NSACR_CPn(VFP_COPROC)|NSACR_CPn(VFP_COPROC2)
+
 # Constants required for in_cksum() and friends.
 define M_LEN                           offsetof(struct mbuf, m_len)
 define M_DATA                          offsetof(struct mbuf, m_data)



Home | Main Index | Thread Index | Old Index