Module Name:    src
Committed By:   matt
Date:           Fri Mar 28 21:56:02 UTC 2014

Modified Files:
        src/sys/arch/arm/arm32: genassym.cf

Log Message:
Add ARM_MMU_EXTENDED support.


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/arm/arm32/genassym.cf

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/arm32/genassym.cf
diff -u src/sys/arch/arm/arm32/genassym.cf:1.67 src/sys/arch/arm/arm32/genassym.cf:1.68
--- src/sys/arch/arm/arm32/genassym.cf:1.67	Wed Feb 26 02:07:58 2014
+++ src/sys/arch/arm/arm32/genassym.cf	Fri Mar 28 21:56:02 2014
@@ -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 <uvm/uvm_extern.h>
 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 @@ ifdef __HAVE_UNNESTED_INTRS
 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	DCACHE_LINE_SIZE	offsetof(struct 
 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 @@ endif
 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_S_SIZE		L2_S_SIZE
 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	CI_LASTLWP		offsetof(struct cpu_i
 
 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)

Reply via email to