Module Name:    src
Committed By:   matt
Date:           Wed Dec 29 08:13:38 UTC 2010

Modified Files:
        src/sys/arch/mips/include [matt-nb5-mips64]: locore.h
        src/sys/arch/mips/mips [matt-nb5-mips64]: locore_mips1.S mipsX_subr.S

Log Message:
Add wbflush to jumpvec while leaving it in locoresw.  This allows to
overwrite wbflush in locoresw but still be able to call it via jumpvec.


To generate a diff of this commit:
cvs rdiff -u -r1.78.36.1.2.27 -r1.78.36.1.2.28 \
    src/sys/arch/mips/include/locore.h
cvs rdiff -u -r1.64.26.1.2.11 -r1.64.26.1.2.12 \
    src/sys/arch/mips/mips/locore_mips1.S
cvs rdiff -u -r1.26.36.1.2.38 -r1.26.36.1.2.39 \
    src/sys/arch/mips/mips/mipsX_subr.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/mips/include/locore.h
diff -u src/sys/arch/mips/include/locore.h:1.78.36.1.2.27 src/sys/arch/mips/include/locore.h:1.78.36.1.2.28
--- src/sys/arch/mips/include/locore.h:1.78.36.1.2.27	Wed Dec 29 00:39:39 2010
+++ src/sys/arch/mips/include/locore.h	Wed Dec 29 08:13:37 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.h,v 1.78.36.1.2.27 2010/12/29 00:39:39 matt Exp $ */
+/* $NetBSD: locore.h,v 1.78.36.1.2.28 2010/12/29 08:13:37 matt Exp $ */
 
 /*
  * This file should not be included by MI code!!!
@@ -332,6 +332,7 @@
 	void	(*ljv_cpu_switch_resume)(struct lwp *);
 	intptr_t ljv_lwp_trampoline;
 	intptr_t ljv_setfunc_trampoline;
+	void	(*ljv_wbflush)(void);
 	void	(*ljv_tlb_set_asid)(uint32_t pid);
 	void	(*ljv_tlb_invalidate_asids)(uint32_t, uint32_t);
 	void	(*ljv_tlb_invalidate_addr)(vaddr_t);
@@ -350,6 +351,9 @@
 void	stacktrace(void);
 void	logstacktrace(void);
 
+struct cpu_info;
+struct splsw;
+
 struct locoresw {
 	void		(*lsw_wbflush)(void);
 	void		(*lsw_cpu_idle)(void);
@@ -370,11 +374,8 @@
  */
 extern mips_locore_jumpvec_t mips_locore_jumpvec;
 extern struct locoresw mips_locoresw;
-struct lwpsw;
 extern void mips_vector_init(const struct splsw *);
 
-/* cpu_switch_resume is called inside locore.S */
-
 /*
  * CPU identification, from PRID register.
  */

Index: src/sys/arch/mips/mips/locore_mips1.S
diff -u src/sys/arch/mips/mips/locore_mips1.S:1.64.26.1.2.11 src/sys/arch/mips/mips/locore_mips1.S:1.64.26.1.2.12
--- src/sys/arch/mips/mips/locore_mips1.S:1.64.26.1.2.11	Wed Dec 29 00:39:39 2010
+++ src/sys/arch/mips/mips/locore_mips1.S	Wed Dec 29 08:13:38 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore_mips1.S,v 1.64.26.1.2.11 2010/12/29 00:39:39 matt Exp $	*/
+/*	$NetBSD: locore_mips1.S,v 1.64.26.1.2.12 2010/12/29 08:13:38 matt Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -1639,6 +1639,7 @@
 	PTR_WORD _C_LABEL(MIPSX(cpu_switch_resume))
 	PTR_WORD _C_LABEL(MIPSX(lwp_trampoline))
 	PTR_WORD _C_LABEL(MIPSX(setfunc_trampoline))
+	PTR_WORD _C_LABEL(MIPSX(wbflush))		# wbflush
 	PTR_WORD _C_LABEL(MIPSX(tlb_set_asid))
 	PTR_WORD _C_LABEL(MIPSX(tlb_invalidate_asids))
 	PTR_WORD _C_LABEL(MIPSX(tlb_invalidate_addr))

Index: src/sys/arch/mips/mips/mipsX_subr.S
diff -u src/sys/arch/mips/mips/mipsX_subr.S:1.26.36.1.2.38 src/sys/arch/mips/mips/mipsX_subr.S:1.26.36.1.2.39
--- src/sys/arch/mips/mips/mipsX_subr.S:1.26.36.1.2.38	Wed Dec 29 00:39:39 2010
+++ src/sys/arch/mips/mips/mipsX_subr.S	Wed Dec 29 08:13:38 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: mipsX_subr.S,v 1.26.36.1.2.38 2010/12/29 00:39:39 matt Exp $	*/
+/*	$NetBSD: mipsX_subr.S,v 1.26.36.1.2.39 2010/12/29 08:13:38 matt Exp $	*/
 
 /*
  * Copyright 2002 Wasabi Systems, Inc.
@@ -2645,6 +2645,7 @@
 	PTR_WORD _C_LABEL(MIPSX(cpu_switch_resume))
 	PTR_WORD _C_LABEL(MIPSX(lwp_trampoline))
 	PTR_WORD _C_LABEL(MIPSX(setfunc_trampoline))
+	PTR_WORD _C_LABEL(MIPSX(wbflush)) # wbflush
 	PTR_WORD _C_LABEL(MIPSX(tlb_set_asid))
 	PTR_WORD _C_LABEL(MIPSX(tlb_invalidate_asids))
 	PTR_WORD _C_LABEL(MIPSX(tlb_invalidate_addr))

Reply via email to