Subject: Re: -DSOFTFLOAT && -DNOFPU
To: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
From: TAKEMURA Shin <takemura@netbsd.org>
List: port-mips
Date: 04/15/2000 20:10:52
----- Original Message ----- 
From: "Toru Nishimura" <nisimura@itc.aist-nara.ac.jp>
To: <port-mips@netbsd.org>
Sent: Saturday, April 15, 2000 10:37 AM
Subject: Re: -DSOFTFLOAT && -DNOFPU


> you can understand above two disturbed NetBSD/mips integrity, say,
> "don't touch CP1" was just an extreme case of FPA emulation.
> 
> So, I'm writing codes don't require NOFPU/SOFTFLOAT for kernel
> configuration.

I'm curious about two things,

One, How do you get over NOFPU in locore.S ?

start:
_C_LABEL(kernel_text):
        mtc0    zero, MIPS_COP_0_STATUS         # Disable interrupts
    /* SNIP */
#ifndef NOFPU /* No FPU; avoid touching FPU registers */
        li      t0, 0                           # Disable interrupts and
        mtc0    t0, MIPS_COP_0_STATUS           # the fp coprocessor
#else
        li      t0, MIPS_SR_COP_1_BIT           # Disable interrupts, and
        mtc0    t0, MIPS_COP_0_STATUS           # enable the fp coprocessor
#endif

Two, when you call savefpregs() from mips/mips/process_machdep.c,
does the kernel get exception and recover it ?

I have no objection against you, it's just my interest :-)

Takemura