Module Name: src Committed By: palle Date: Wed Mar 4 11:32:31 UTC 2015
Modified Files: src/sys/arch/sparc64/sparc64: locore.s Log Message: sun4v: revert some of the logic introduced in revision 1.378 - flushw is not necessary on sun4v (OpenBSD patches the flushw instruction to a nop instruction) - with these changes the kernel reaches cpu_boot_secondary_processors() when running in the Legion simulator (crashes due to missing handling of cpu_mondo_trap) To generate a diff of this commit: cvs rdiff -u -r1.381 -r1.382 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/sparc64/locore.s diff -u src/sys/arch/sparc64/sparc64/locore.s:1.381 src/sys/arch/sparc64/sparc64/locore.s:1.382 --- src/sys/arch/sparc64/sparc64/locore.s:1.381 Mon Mar 2 14:17:06 2015 +++ src/sys/arch/sparc64/sparc64/locore.s Wed Mar 4 11:32:31 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.381 2015/03/02 14:17:06 nakayama Exp $ */ +/* $NetBSD: locore.s,v 1.382 2015/03/04 11:32:31 palle Exp $ */ /* * Copyright (c) 2006-2010 Matthew R. Green @@ -3683,7 +3683,7 @@ ENTRY_NOPROFILE(sparc_interrupt) stx %g5, [%sp + CC64FSZ + STKB + TF_G + ( 5*8)] stx %g6, [%sp + CC64FSZ + STKB + TF_G + ( 6*8)] stx %g7, [%sp + CC64FSZ + STKB + TF_G + ( 7*8)] - ALTERNATE_GLOBALS_SUN4V + /* * In the EMBEDANY memory model %g4 points to the start of the * data segment. In our case we need to clear it before calling @@ -3691,8 +3691,6 @@ ENTRY_NOPROFILE(sparc_interrupt) */ clr %g4 - flushw ! Do not remove this insn -- causes interrupt loss - NORMAL_GLOBALS_SUN4V ba 2f nop 1: @@ -3706,7 +3704,7 @@ ENTRY_NOPROFILE(sparc_interrupt) stx %g5, [%sp + CC64FSZ + STKB + TF_G + ( 5*8)] stx %g6, [%sp + CC64FSZ + STKB + TF_G + ( 6*8)] stx %g7, [%sp + CC64FSZ + STKB + TF_G + ( 7*8)] - ALTERNATE_GLOBALS_SUN4U + /* * In the EMBEDANY memory model %g4 points to the start of the * data segment. In our case we need to clear it before calling @@ -3715,7 +3713,7 @@ ENTRY_NOPROFILE(sparc_interrupt) clr %g4 flushw ! Do not remove this insn -- causes interrupt loss - NORMAL_GLOBALS_SUN4U + 2: rd %y, %l6 INCR64(CPUINFO_VA+CI_NINTR) ! cnt.v_ints++ (clobbers %o0,%o1)