Module Name:    src
Committed By:   thorpej
Date:           Wed Dec 27 19:47:00 UTC 2023

Modified Files:
        src/sys/arch/next68k/include: pmap.h
        src/sys/arch/next68k/next68k: genassym.cf locore.s

Log Message:
Define the values for the 68040 TT registers in terms of the definitions in
<m68k/mmu_40.h> rather than using magic numbers.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/next68k/include/pmap.h
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/next68k/next68k/genassym.cf
cvs rdiff -u -r1.76 -r1.77 src/sys/arch/next68k/next68k/locore.s

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/next68k/include/pmap.h
diff -u src/sys/arch/next68k/include/pmap.h:1.15 src/sys/arch/next68k/include/pmap.h:1.16
--- src/sys/arch/next68k/include/pmap.h:1.15	Sun Nov  3 19:56:33 2002
+++ src/sys/arch/next68k/include/pmap.h	Wed Dec 27 19:47:00 2023
@@ -1,3 +1,25 @@
-/*	$NetBSD: pmap.h,v 1.15 2002/11/03 19:56:33 chs Exp $	*/
+/*	$NetBSD: pmap.h,v 1.16 2023/12/27 19:47:00 thorpej Exp $	*/
+
+#ifndef _NEXT68K_PMAP_H_
+#define	_NEXT68K_PMAP_H_
 
 #include <m68k/pmap_motorola.h>
+#include <m68k/mmu_30.h>
+
+/*
+ * Transparent translation register values for IO space and the
+ * kernel text/data.  These are only used temporarily during
+ * early boot.
+ *
+ * XXX BOTH?  Really?  But that matches the historical value.  But
+ * just SUPER should be sufficient.
+ */
+#define	NEXT68K_TT40_IO		(0x02000000 |				\
+				 TTR40_E | TTR40_BOTH |			\
+				 PTE40_CM_NC_SER)
+
+#define	NEXT68K_TT40_KERN	(0x04000000 |				\
+				 __SHIFTIN(0x03,TTR40_LAM) |		\
+				TTR40_E | TTR40_BOTH)
+
+#endif /* _NEXT68K_PMAP_H_ */

Index: src/sys/arch/next68k/next68k/genassym.cf
diff -u src/sys/arch/next68k/next68k/genassym.cf:1.31 src/sys/arch/next68k/next68k/genassym.cf:1.32
--- src/sys/arch/next68k/next68k/genassym.cf:1.31	Wed Dec 27 17:35:36 2023
+++ src/sys/arch/next68k/next68k/genassym.cf	Wed Dec 27 19:47:00 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.31 2023/12/27 17:35:36 thorpej Exp $
+#	$NetBSD: genassym.cf,v 1.32 2023/12/27 19:47:00 thorpej Exp $
 
 #
 # Copyright (c) 1982, 1990, 1993
@@ -117,6 +117,10 @@ export	MMU51_CRP_BITS
 export	MMU51_TCR_BITS
 export	MMU40_TCR_BITS
 
+# Transparent translation register values (from pmap.h)
+export	NEXT68K_TT40_IO
+export	NEXT68K_TT40_KERN
+
 # lwp & proc fields and values
 define	L_PCB			offsetof(struct lwp, l_addr)
 define	L_PROC			offsetof(struct lwp, l_proc)

Index: src/sys/arch/next68k/next68k/locore.s
diff -u src/sys/arch/next68k/next68k/locore.s:1.76 src/sys/arch/next68k/next68k/locore.s:1.77
--- src/sys/arch/next68k/next68k/locore.s:1.76	Wed Dec 27 03:03:42 2023
+++ src/sys/arch/next68k/next68k/locore.s	Wed Dec 27 19:47:00 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.s,v 1.76 2023/12/27 03:03:42 thorpej Exp $	*/
+/*	$NetBSD: locore.s,v 1.77 2023/12/27 19:47:00 thorpej Exp $	*/
 
 /*
  * Copyright (c) 1998 Darrin B. Jewell
@@ -361,17 +361,17 @@ Lstploaddone:
 	| This is a hack to get PA=KVA when turning on MMU as mentioned above.
 	| Currently this will only work on 68040's.  We should also provide
 	| %tt0 and %tt1 settings to boot 68030's later.
-	movel	#0x0200c040,%d0		| intio devices are at 0x02000000
+	movel	#NEXT68K_TT40_IO,%d0	| see pmap.h
 	.long	0x4e7b0004		| movc %d0,%itt0
 	.long	0x4e7b0006		| movc %d0,%dtt0
-	movel	#0x0403c000,%d0		| kernel text and data at 0x04000000
+	movel	#NEXT68K_TT40_KERN,%d0	| see pmap.h
 	.long	0x4e7b0005		| movc %d0,%itt1
 	.long	0x4e7b0007		| movc %d0,%dtt1
 
 	.word	0xf4d8			| cinva bc
 	.word	0xf518			| pflusha
-	movl	#0x8000,%d0
-	.long	0x4e7b0003		| movc %d0,tc
+	movl	#MMU40_TCR_BITS,%d0
+	.long	0x4e7b0003		| movc %d0,%tc
 	movl	#0x80008000,%d0
 	movc	%d0,%cacr		| turn on both caches
 

Reply via email to