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))