PERFORCE change 134314 for review
Warner Losh
imp at FreeBSD.org
Mon Jan 28 11:46:56 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=134314
Change 134314 by imp at imp_lighthouse on 2008/01/28 19:46:51
When we turn on the COP 1 enable bit, make sure that it turns on
before accessing the FPU. In the CPU_NOFPU case, this won't be done,
but is needed for those platforms that have to support CPUs with and
without math co-processor support. Chances are that CPU_NOFPU turns
off other stuff that will kill us later in the boot process, but for
now this allows the early startup code to be as agnostic as possible
at the cost of a few insturctions.
Affected files ...
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/locore.S#12 edit
Differences ...
==== //depot/projects/mips2-jnpr/src/sys/mips/mips/locore.S#12 (text+ko) ====
@@ -126,11 +126,16 @@
mtc0 t2, MIPS_COP_0_STATUS
COP0_SYNC
/* Extra nops for the FPU to spin up. */
+ mfc0 t2, MIPS_COP_0_STATUS
/* Read and store the PrID FPU ID for CPU identification. */
mfc0 t0, MIPS_COP_0_PRID
#ifndef CPU_NOFPU
+ and t2, MIPS_SR_COP_1_BIT
+ beqz t2, 1f
+ li t1, 0x0
cfc1 t1, MIPS_FPU_ID
+1:
#else
/*
* This platform has no FPU, and attempting to detect one
@@ -202,13 +207,6 @@
la sp, _C_LABEL(thread0)
lw a0, TD_PCB(sp)
subu sp, a0, START_FRAME
- mfc0 t1, COP_0_CONFIG, 1 # Check FPU present or not
- andi t1, 0x1
- beqz t1, no_fpu
- nop
- cfc1 t1, FPC_ID # read FPU ID register
- sw t1, _C_LABEL(fpu_id) # save FPU ID register
-no_fpu:
jal _C_LABEL(mi_startup) # mi_startup(frame)
nop
PANIC("Startup failed!")
More information about the p4-projects
mailing list