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)