Module Name: src
Committed By: riz
Date: Fri Jul 15 22:46:06 UTC 2011
Modified Files:
src/sys/arch/x68k/x68k [netbsd-5]: locore.s
Log Message:
Pull up following revision(s) (requested by tsutsui in ticket #1640):
sys/arch/x68k/x68k/locore.s: revision 1.102
Defer fpu_probe() call until curlwp and related variables are initialized.
Fixes pre-consinit KASSERT() in trap() caused by fnop instruction in
fpu_probe() on machines without FPU, including XM6i.
To generate a diff of this commit:
cvs rdiff -u -r1.84 -r1.84.6.1 src/sys/arch/x68k/x68k/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/x68k/x68k/locore.s
diff -u src/sys/arch/x68k/x68k/locore.s:1.84 src/sys/arch/x68k/x68k/locore.s:1.84.6.1
--- src/sys/arch/x68k/x68k/locore.s:1.84 Mon Jun 23 08:33:38 2008
+++ src/sys/arch/x68k/x68k/locore.s Fri Jul 15 22:46:06 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.84 2008/06/23 08:33:38 isaki Exp $ */
+/* $NetBSD: locore.s,v 1.84.6.1 2011/07/15 22:46:06 riz Exp $ */
/*
* Copyright (c) 1980, 1990, 1993
@@ -955,9 +955,6 @@
/* select the software page size now */
lea _ASM_LABEL(tmpstk),%sp | temporary stack
jbsr _C_LABEL(uvm_setpagesize) | select software page size
-/* detect FPU type */
- jbsr _C_LABEL(fpu_probe)
- movl %d0,_C_LABEL(fputype)
/* set kernel stack, user SP, and initial pcb */
movl _C_LABEL(proc0paddr),%a1 | get lwp0 pcb addr
lea %a1@(USPACE-4),%sp | set kernel stack to end of area
@@ -968,6 +965,9 @@
movl %a2,%usp | init user SP
movl %a1,_C_LABEL(curpcb) | lwp0 is running
+/* detect FPU type */
+ jbsr _C_LABEL(fpu_probe)
+ movl %d0,_C_LABEL(fputype)
tstl _C_LABEL(fputype) | Have an FPU?
jeq Lenab2 | No, skip.
clrl %a1@(PCB_FPCTX) | ensure null FP context