svn commit: r337903 - in head/sys/arm: arm include

Andrew Turner andrew at FreeBSD.org
Thu Aug 16 10:00:52 UTC 2018


Author: andrew
Date: Thu Aug 16 10:00:51 2018
New Revision: 337903
URL: https://svnweb.freebsd.org/changeset/base/337903

Log:
  Remove the L1 and L2 xscale page defines and rename the generic macros to
  the common name. While here move the macros to check these into pmap-v4.c
  as they're only used there.
  
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/arm/arm/pmap-v4.c
  head/sys/arm/include/pmap-v4.h

Modified: head/sys/arm/arm/pmap-v4.c
==============================================================================
--- head/sys/arm/arm/pmap-v4.c	Thu Aug 16 09:42:09 2018	(r337902)
+++ head/sys/arm/arm/pmap-v4.c	Thu Aug 16 10:00:51 2018	(r337903)
@@ -194,6 +194,11 @@ extern struct pv_addr systempage;
 
 extern int last_fault_code;
 
+#define	l1pte_section_p(pde)	(((pde) & L1_TYPE_MASK) == L1_TYPE_S)
+#define	l2pte_index(v)		(((v) & L1_S_OFFSET) >> L2_S_SHIFT)
+#define	l2pte_valid(pte)	((pte) != 0)
+#define	l2pte_pa(pte)		((pte) & L2_S_FRAME)
+
 /*
  * Internal function prototypes
  */
@@ -444,13 +449,13 @@ pmap_pte_init_generic(void)
 {
 
 	pte_l1_s_cache_mode = L1_S_B|L1_S_C;
-	pte_l1_s_cache_mask = L1_S_CACHE_MASK_generic;
+	pte_l1_s_cache_mask = L1_S_CACHE_MASK;
 
 	pte_l2_l_cache_mode = L2_B|L2_C;
-	pte_l2_l_cache_mask = L2_L_CACHE_MASK_generic;
+	pte_l2_l_cache_mask = L2_L_CACHE_MASK;
 
 	pte_l2_s_cache_mode = L2_B|L2_C;
-	pte_l2_s_cache_mask = L2_S_CACHE_MASK_generic;
+	pte_l2_s_cache_mask = L2_S_CACHE_MASK;
 
 	/*
 	 * If we have a write-through cache, set B and C.  If

Modified: head/sys/arm/include/pmap-v4.h
==============================================================================
--- head/sys/arm/include/pmap-v4.h	Thu Aug 16 09:42:09 2018	(r337902)
+++ head/sys/arm/include/pmap-v4.h	Thu Aug 16 10:00:51 2018	(r337903)
@@ -249,59 +249,24 @@ extern int pmap_needs_pte_sync;
 
 /*
  * These macros define the various bit masks in the PTE.
- *
- * We use these macros since we use different bits on different processor
- * models.
  */
 
-#define	L1_S_CACHE_MASK_generic	(L1_S_B|L1_S_C)
-#define	L1_S_CACHE_MASK_xscale	(L1_S_B|L1_S_C|L1_S_XSCALE_TEX(TEX_XSCALE_X)|\
-    				L1_S_XSCALE_TEX(TEX_XSCALE_T))
-
-#define	L2_L_CACHE_MASK_generic	(L2_B|L2_C)
-#define	L2_L_CACHE_MASK_xscale	(L2_B|L2_C|L2_XSCALE_L_TEX(TEX_XSCALE_X) | \
-    				L2_XSCALE_L_TEX(TEX_XSCALE_T))
-
-#define	L2_S_PROT_U_generic	(L2_AP(AP_U))
-#define	L2_S_PROT_W_generic	(L2_AP(AP_W))
-#define	L2_S_PROT_MASK_generic	(L2_S_PROT_U|L2_S_PROT_W)
-
-#define	L2_S_PROT_U_xscale	(L2_AP0(AP_U))
-#define	L2_S_PROT_W_xscale	(L2_AP0(AP_W))
-#define	L2_S_PROT_MASK_xscale	(L2_S_PROT_U|L2_S_PROT_W)
-
-#define	L2_S_CACHE_MASK_generic	(L2_B|L2_C)
-#define	L2_S_CACHE_MASK_xscale	(L2_B|L2_C|L2_XSCALE_T_TEX(TEX_XSCALE_X)| \
-    				 L2_XSCALE_T_TEX(TEX_XSCALE_X))
-
-#define	L1_S_PROTO_generic	(L1_TYPE_S | L1_S_IMP)
-#define	L1_S_PROTO_xscale	(L1_TYPE_S)
-
-#define	L1_C_PROTO_generic	(L1_TYPE_C | L1_C_IMP2)
-#define	L1_C_PROTO_xscale	(L1_TYPE_C)
-
+#define	L1_S_CACHE_MASK		(L1_S_B|L1_S_C)
+#define	L2_L_CACHE_MASK		(L2_B|L2_C)
+#define	L2_S_PROT_U		(L2_AP(AP_U))
+#define	L2_S_PROT_W		(L2_AP(AP_W))
+#define	L2_S_PROT_MASK		(L2_S_PROT_U|L2_S_PROT_W)
+#define	L2_S_CACHE_MASK		(L2_B|L2_C)
+#define	L1_S_PROTO		(L1_TYPE_S | L1_S_IMP)
+#define	L1_C_PROTO		(L1_TYPE_C | L1_C_IMP2)
 #define	L2_L_PROTO		(L2_TYPE_L)
+#define	L2_S_PROTO		(L2_TYPE_S)
 
-#define	L2_S_PROTO_generic	(L2_TYPE_S)
-#define	L2_S_PROTO_xscale	(L2_TYPE_XSCALE_XS)
-
 /*
  * User-visible names for the ones that vary with MMU class.
  */
 #define	L2_AP(x)	(L2_AP0(x) | L2_AP1(x) | L2_AP2(x) | L2_AP3(x))
 
-#define	L2_S_PROT_U		L2_S_PROT_U_generic
-#define	L2_S_PROT_W		L2_S_PROT_W_generic
-#define	L2_S_PROT_MASK		L2_S_PROT_MASK_generic
-
-#define	L1_S_CACHE_MASK		L1_S_CACHE_MASK_generic
-#define	L2_L_CACHE_MASK		L2_L_CACHE_MASK_generic
-#define	L2_S_CACHE_MASK		L2_S_CACHE_MASK_generic
-
-#define	L1_S_PROTO		L1_S_PROTO_generic
-#define	L1_C_PROTO		L1_C_PROTO_generic
-#define	L2_S_PROTO		L2_S_PROTO_generic
-
 #if defined(CPU_XSCALE_81342)
 #define CPU_XSCALE_CORE3
 #define PMAP_NEEDS_PTE_SYNC	1
@@ -383,26 +348,6 @@ void	pmap_pte_init_generic(void);
 
 #define PTE_KERNEL	0
 #define PTE_USER	1
-#define	l1pte_valid(pde)	((pde) != 0)
-#define	l1pte_section_p(pde)	(((pde) & L1_TYPE_MASK) == L1_TYPE_S)
-#define	l1pte_page_p(pde)	(((pde) & L1_TYPE_MASK) == L1_TYPE_C)
-#define	l1pte_fpage_p(pde)	(((pde) & L1_TYPE_MASK) == L1_TYPE_F)
-
-#define l2pte_index(v)		(((v) & L1_S_OFFSET) >> L2_S_SHIFT)
-#define	l2pte_valid(pte)	((pte) != 0)
-#define	l2pte_pa(pte)		((pte) & L2_S_FRAME)
-#define l2pte_minidata(pte)	(((pte) & \
-				 (L2_B | L2_C | L2_XSCALE_T_TEX(TEX_XSCALE_X)))\
-				 == (L2_C | L2_XSCALE_T_TEX(TEX_XSCALE_X)))
-
-/* L1 and L2 page table macros */
-#define pmap_pde_v(pde)		l1pte_valid(*(pde))
-#define pmap_pde_section(pde)	l1pte_section_p(*(pde))
-#define pmap_pde_page(pde)	l1pte_page_p(*(pde))
-#define pmap_pde_fpage(pde)	l1pte_fpage_p(*(pde))
-
-#define	pmap_pte_v(pte)		l2pte_valid(*(pte))
-#define	pmap_pte_pa(pte)	l2pte_pa(*(pte))
 
 /*
  * Flags that indicate attributes of pages or mappings of pages.


More information about the svn-src-all mailing list