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