[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fwd: newb question : list of elligible computers to debian-68k



I found the errata, 
http://www.freescale.com/files/microcontrollers/doc/errata/MC68040DE_D.txt?fsrch=1

10.)  (MC68040 & MC68LC040 only) If an A-line, Illegal, CHK, or 
     Unimplemented Floating Point instruction is in the last 16 bits of a 
     page and the next page does not exist (or is nonresident with pdt=0), 
     the proper exception is not reported.  Instead of reporting the 
     proper exception, the 68040 attempts to prefetch the next instruction 
     on the missing page, and an instruction ATC fault is reported with 
     the fault address showing the first word of the missing page and the 
     program counter showing the address of the instruction on the 
     preceding page.


On Wed, 15 Oct 2008, Brad Boyer wrote:

> On Thu, Oct 16, 2008 at 03:09:06PM +1100, Finn Thain wrote:
> 
> The demand-paged nature of executables should be able to trigger this 
> bug on the first time through even without swap.

Seems so.

> I will note that this bug is known to affect the line-A trap that the 
> classic Mac system uses for system calls. Apple had a workaround for 
> this bug for line-A but not for FPU emulation.

I wonder why. Is it not possible to distinguish a false ATC fault from an 
unimplemented FP instruction exception?

> ...it should cause both the emulation trap and the page fault on a good 
> CPU. If you miss one, it's a broken CPU. It would most likely need to be 
> done in an isolated thread to be safe.

I think we could just create a special initrd for the purpose and let the 
ATC fault kill the box. Not sure how to arrange for the correct page to be 
non-resident when you do this from userspace (is demand paging always done 
one page at-a-time?). But if you use an FPU op to generate the fault, and 
run it under an FPU emulation, it shouldn't kill any interesting boxes 
(i.e. no bug, bug + FPU).

Finn

> 
> 	Brad Boyer
> 	flar@allandria.com
> 
> 
> 


Reply to: