Module Name:    src
Committed By:   mrg
Date:           Mon Feb 22 22:28:58 UTC 2010

Modified Files:
        src/sys/arch/sparc64/conf: files.sparc64
        src/sys/arch/sparc64/sparc64: locore.s
Added Files:
        src/sys/arch/sparc64/sparc64: db_tlb_access.S

Log Message:
move {dump,print}_[id]tlb() into a separate file.


To generate a diff of this commit:
cvs rdiff -u -r1.123 -r1.124 src/sys/arch/sparc64/conf/files.sparc64
cvs rdiff -u -r0 -r1.1 src/sys/arch/sparc64/sparc64/db_tlb_access.S
cvs rdiff -u -r1.318 -r1.319 src/sys/arch/sparc64/sparc64/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/sparc64/conf/files.sparc64
diff -u src/sys/arch/sparc64/conf/files.sparc64:1.123 src/sys/arch/sparc64/conf/files.sparc64:1.124
--- src/sys/arch/sparc64/conf/files.sparc64:1.123	Tue Jan 12 14:45:50 2010
+++ src/sys/arch/sparc64/conf/files.sparc64	Mon Feb 22 22:28:58 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: files.sparc64,v 1.123 2010/01/12 14:45:50 martin Exp $
+#	$NetBSD: files.sparc64,v 1.124 2010/02/22 22:28:58 mrg Exp $
 
 # @(#)files.sparc64	8.1 (Berkeley) 7/19/93
 # sparc64-specific configuration info
@@ -198,7 +198,7 @@
 file	arch/sparc64/sparc64/intr.c
 file	arch/sparc64/sparc64/kgdb_machdep.c	kgdb
 file	arch/sparc64/sparc64/kobj_machdep.c	modular
-# sparc/sparc/locore.s is handled specially in the makefile,
+# sparc64/sparc64/locore.s is handled specially in the makefile,
 # because it must come first in the "ld" command line.
 file	arch/sparc64/sparc64/machdep.c
 file	arch/sparc64/sparc64/process_machdep.c
@@ -216,8 +216,9 @@
 file	arch/sparc64/sparc64/lock_stubs.s
 
 file	arch/sparc64/sparc64/db_interface.c	ddb | kgdb
-file	arch/sparc64/sparc64/db_trace.c	ddb
+file	arch/sparc64/sparc64/db_trace.c		ddb
 file	arch/sparc64/sparc64/db_disasm.c	ddb
+file	arch/sparc64/sparc64/db_tlb_access.S	ddb
 
 # USB Support
 include "dev/usb/files.usb"

Index: src/sys/arch/sparc64/sparc64/locore.s
diff -u src/sys/arch/sparc64/sparc64/locore.s:1.318 src/sys/arch/sparc64/sparc64/locore.s:1.319
--- src/sys/arch/sparc64/sparc64/locore.s:1.318	Mon Feb 22 00:16:31 2010
+++ src/sys/arch/sparc64/sparc64/locore.s	Mon Feb 22 22:28:57 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.s,v 1.318 2010/02/22 00:16:31 mrg Exp $	*/
+/*	$NetBSD: locore.s,v 1.319 2010/02/22 22:28:57 mrg Exp $	*/
 
 /*
  * Copyright (c) 1996-2002 Eduardo Horvath
@@ -4333,221 +4333,6 @@
 	.globl	_C_LABEL(endtrapcode)
 _C_LABEL(endtrapcode):
 
-#ifdef DDB
-!!!
-!!! Dump the DTLB to phys address in %o0 and print it
-!!!
-!!! Only toast a few %o registers
-!!!
-
-ENTRY_NOPROFILE(dump_dtlb)
-	clr	%o1
-	add	%o1, (64 * 8), %o3		! XXX TLB_SIZE
-1:
-	ldxa	[%o1] ASI_DMMU_TLB_TAG, %o2
-	membar	#Sync
-	stx	%o2, [%o0]
-	membar	#Sync
-	inc	8, %o0
-	ldxa	[%o1] ASI_DMMU_TLB_DATA, %o4
-	membar	#Sync
-	inc	8, %o1
-	stx	%o4, [%o0]
-	cmp	%o1, %o3
-	membar	#Sync
-	bl	1b
-	 inc	8, %o0
-
-	retl
-	 nop
-
-ENTRY_NOPROFILE(dump_itlb)
-	clr	%o1
-	add	%o1, (64 * 8), %o3		! XXX TLB_SIZE
-1:
-	ldxa	[%o1] ASI_IMMU_TLB_TAG, %o2
-	membar	#Sync
-	stx	%o2, [%o0]
-	membar	#Sync
-	inc	8, %o0
-	ldxa	[%o1] ASI_IMMU_TLB_DATA, %o4
-	membar	#Sync
-	inc	8, %o1
-	stx	%o4, [%o0]
-	cmp	%o1, %o3
-	membar	#Sync
-	bl	1b
-	 inc	8, %o0
-
-	retl
-	 nop
-
-#ifdef _LP64
-ENTRY_NOPROFILE(print_dtlb)
-	save	%sp, -CC64FSZ, %sp
-	clr	%l1
-	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
-	clr	%l2
-1:
-	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
-	membar	#Sync
-	mov	%l2, %o1
-	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o3
-	membar	#Sync
-	inc	%l2
-	set	2f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
-	membar	#Sync
-	mov	%l2, %o1
-	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o3
-	membar	#Sync
-	inc	%l2
-	set	3f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	cmp	%l1, %l3
-	bl	1b
-	 inc	8, %l0
-
-	ret
-	 restore
-
-
-ENTRY_NOPROFILE(print_itlb)
-	save	%sp, -CC64FSZ, %sp
-	clr	%l1
-	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
-	clr	%l2
-1:
-	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
-	membar	#Sync
-	mov	%l2, %o1
-	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o3
-	membar	#Sync
-	inc	%l2
-	set	2f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
-	membar	#Sync
-	mov	%l2, %o1
-	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o3
-	membar	#Sync
-	inc	%l2
-	set	3f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	cmp	%l1, %l3
-	bl	1b
-	 inc	8, %l0
-
-	ret
-	 restore
-
-	.data
-2:
-	.asciz	"%2d:%016lx %016lx "
-3:
-	.asciz	"%2d:%016lx %016lx\r\n"
-	.text
-#else
-ENTRY_NOPROFILE(print_dtlb)
-	save	%sp, -CC64FSZ, %sp
-	clr	%l1
-	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
-	clr	%l2
-1:
-	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
-	membar	#Sync
-	srl	%o2, 0, %o3
-	mov	%l2, %o1
-	srax	%o2, 32, %o2
-	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o4
-	membar	#Sync
-	srl	%o4, 0, %o5
-	inc	%l2
-	srax	%o4, 32, %o4
-	set	2f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
-	membar	#Sync
-	srl	%o2, 0, %o3
-	mov	%l2, %o1
-	srax	%o2, 32, %o2
-	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o4
-	membar	#Sync
-	srl	%o4, 0, %o5
-	inc	%l2
-	srax	%o4, 32, %o4
-	set	3f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	cmp	%l1, %l3
-	bl	1b
-	 inc	8, %l0
-
-	ret
-	 restore
-
-ENTRY_NOPROFILE(print_itlb)
-	save	%sp, -CC64FSZ, %sp
-	clr	%l1
-	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
-	clr	%l2
-1:
-	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
-	membar	#Sync
-	srl	%o2, 0, %o3
-	mov	%l2, %o1
-	srax	%o2, 32, %o2
-	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o4
-	membar	#Sync
-	srl	%o4, 0, %o5
-	inc	%l2
-	srax	%o4, 32, %o4
-	set	2f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
-	membar	#Sync
-	srl	%o2, 0, %o3
-	mov	%l2, %o1
-	srax	%o2, 32, %o2
-	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o4
-	membar	#Sync
-	srl	%o4, 0, %o5
-	inc	%l2
-	srax	%o4, 32, %o4
-	set	3f, %o0
-	call	_C_LABEL(db_printf)
-	 inc	8, %l1
-
-	cmp	%l1, %l3
-	bl	1b
-	 inc	8, %l0
-
-	ret
-	 restore
-
-	.data
-2:
-	.asciz	"%2d:%08x:%08x %08x:%08x "
-3:
-	.asciz	"%2d:%08x:%08x %08x:%08x\r\n"
-	.text
-#endif
-#endif
-
 /*
  * Kernel entry point.
  *

Added files:

Index: src/sys/arch/sparc64/sparc64/db_tlb_access.S
diff -u /dev/null src/sys/arch/sparc64/sparc64/db_tlb_access.S:1.1
--- /dev/null	Mon Feb 22 22:28:58 2010
+++ src/sys/arch/sparc64/sparc64/db_tlb_access.S	Mon Feb 22 22:28:58 2010
@@ -0,0 +1,246 @@
+/*	$NetBSD: db_tlb_access.S,v 1.1 2010/02/22 22:28:58 mrg Exp $	*/
+
+/*
+ * Copyright (c) 1996-2002 Eduardo Horvath
+ * All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR  ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR  BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include "opt_ddb.h"
+
+#include <machine/ctlreg.h>
+#include <machine/asm.h>
+
+#ifdef DDB
+!!!
+!!! Dump the DTLB to phys address in %o0 and print it
+!!!
+!!! Only toast a few %o registers
+!!!
+
+ENTRY_NOPROFILE(dump_dtlb)
+	clr	%o1
+	add	%o1, (64 * 8), %o3		! XXX TLB_SIZE
+1:
+	ldxa	[%o1] ASI_DMMU_TLB_TAG, %o2
+	membar	#Sync
+	stx	%o2, [%o0]
+	membar	#Sync
+	inc	8, %o0
+	ldxa	[%o1] ASI_DMMU_TLB_DATA, %o4
+	membar	#Sync
+	inc	8, %o1
+	stx	%o4, [%o0]
+	cmp	%o1, %o3
+	membar	#Sync
+	bl	1b
+	 inc	8, %o0
+
+	retl
+	 nop
+
+ENTRY_NOPROFILE(dump_itlb)
+	clr	%o1
+	add	%o1, (64 * 8), %o3		! XXX TLB_SIZE
+1:
+	ldxa	[%o1] ASI_IMMU_TLB_TAG, %o2
+	membar	#Sync
+	stx	%o2, [%o0]
+	membar	#Sync
+	inc	8, %o0
+	ldxa	[%o1] ASI_IMMU_TLB_DATA, %o4
+	membar	#Sync
+	inc	8, %o1
+	stx	%o4, [%o0]
+	cmp	%o1, %o3
+	membar	#Sync
+	bl	1b
+	 inc	8, %o0
+
+	retl
+	 nop
+
+#ifdef _LP64
+ENTRY_NOPROFILE(print_dtlb)
+	save	%sp, -CC64FSZ, %sp
+	clr	%l1
+	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
+	clr	%l2
+1:
+	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
+	membar	#Sync
+	mov	%l2, %o1
+	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o3
+	membar	#Sync
+	inc	%l2
+	set	2f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
+	membar	#Sync
+	mov	%l2, %o1
+	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o3
+	membar	#Sync
+	inc	%l2
+	set	3f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	cmp	%l1, %l3
+	bl	1b
+	 inc	8, %l0
+
+	ret
+	 restore
+
+
+ENTRY_NOPROFILE(print_itlb)
+	save	%sp, -CC64FSZ, %sp
+	clr	%l1
+	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
+	clr	%l2
+1:
+	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
+	membar	#Sync
+	mov	%l2, %o1
+	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o3
+	membar	#Sync
+	inc	%l2
+	set	2f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
+	membar	#Sync
+	mov	%l2, %o1
+	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o3
+	membar	#Sync
+	inc	%l2
+	set	3f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	cmp	%l1, %l3
+	bl	1b
+	 inc	8, %l0
+
+	ret
+	 restore
+
+	.data
+2:
+	.asciz	"%2d:%016lx %016lx "
+3:
+	.asciz	"%2d:%016lx %016lx\r\n"
+	.text
+#else
+ENTRY_NOPROFILE(print_dtlb)
+	save	%sp, -CC64FSZ, %sp
+	clr	%l1
+	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
+	clr	%l2
+1:
+	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
+	membar	#Sync
+	srl	%o2, 0, %o3
+	mov	%l2, %o1
+	srax	%o2, 32, %o2
+	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o4
+	membar	#Sync
+	srl	%o4, 0, %o5
+	inc	%l2
+	srax	%o4, 32, %o4
+	set	2f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	ldxa	[%l1] ASI_DMMU_TLB_TAG, %o2
+	membar	#Sync
+	srl	%o2, 0, %o3
+	mov	%l2, %o1
+	srax	%o2, 32, %o2
+	ldxa	[%l1] ASI_DMMU_TLB_DATA, %o4
+	membar	#Sync
+	srl	%o4, 0, %o5
+	inc	%l2
+	srax	%o4, 32, %o4
+	set	3f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	cmp	%l1, %l3
+	bl	1b
+	 inc	8, %l0
+
+	ret
+	 restore
+
+ENTRY_NOPROFILE(print_itlb)
+	save	%sp, -CC64FSZ, %sp
+	clr	%l1
+	add	%l1, (64 * 8), %l3		! XXX TLB_SIZE
+	clr	%l2
+1:
+	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
+	membar	#Sync
+	srl	%o2, 0, %o3
+	mov	%l2, %o1
+	srax	%o2, 32, %o2
+	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o4
+	membar	#Sync
+	srl	%o4, 0, %o5
+	inc	%l2
+	srax	%o4, 32, %o4
+	set	2f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	ldxa	[%l1] ASI_IMMU_TLB_TAG, %o2
+	membar	#Sync
+	srl	%o2, 0, %o3
+	mov	%l2, %o1
+	srax	%o2, 32, %o2
+	ldxa	[%l1] ASI_IMMU_TLB_DATA, %o4
+	membar	#Sync
+	srl	%o4, 0, %o5
+	inc	%l2
+	srax	%o4, 32, %o4
+	set	3f, %o0
+	call	_C_LABEL(db_printf)
+	 inc	8, %l1
+
+	cmp	%l1, %l3
+	bl	1b
+	 inc	8, %l0
+
+	ret
+	 restore
+
+	.data
+2:
+	.asciz	"%2d:%08x:%08x %08x:%08x "
+3:
+	.asciz	"%2d:%08x:%08x %08x:%08x\r\n"
+	.text
+#endif
+#endif

Reply via email to