Subject: Re: illegal instruction trap booting -current kernel
To: Jason R Thorpe <thorpej@wasabisystems.com>
From: Frederick Bruckman <fredb@immanent.net>
List: port-mac68k
Date: 03/05/2003 06:05:05
On Tue, 4 Mar 2003, Jason R Thorpe wrote:

> On Wed, Mar 05, 2003 at 01:00:29AM -0500, John Klos wrote:
>
>  > > Taking a hint from fpsp, I tried this, instead...
>  >
>  > > +	/* Loading '0.0' will change FPU to "idle". */
>  > > +	fmove.x	#0,%fp0
>  >
>  > As we all like bootable and working source trees, I've committed this.
>  > How'd it get broken in the first place is what I'd like to know...
>
> ...as long as it's actually correct...

I find under FSAVE in "M68000 Family Programmer's Reference Manual",

    Any floating-point operations in progress when an FSAVE instruction
    is encountered can be completed before the FSAVE executes, saving
    an IDLE state frame. Execution of instructions already in the
    floating-point unit pipeline continues until completion of all
    instructions in the pipeline or generation of an exception by one
    of the instructions. An IDLE state frame is created by the FSAVE if
    no exceptions occurred; otherwise, a BUSY or an UNIMP stack frame
    is created.

So any single instruction that doesn't create an exception should
do, or do we need to fill "the pipeline"? How long is the pipeline?

Frederick