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

Re: PowerBook 540c



On Tue, Oct 26, 2004 at 09:41:09AM +0200, Wouter Verhelst wrote:
> The LC040 support, probably, even if it's deemed nearly impossible to
> do. The problem is not the LC040 per se; the problem is that there are
> quite a bunch of bad LC040 processors out there. These work incorrectly
> in that they do not correctly keep their registers when an FPU interrupt
> goes off; as a result, the kernel returns to an incorrect CPU state
> after handling the FPU, so stuff obviously doesn't work.

It is actually a little more specific than that. The bug only happens
if the instruction is the last word of a page, and the next page has
to be loaded by the fault handler. It's an interaction between the page
fault handler and the emulation trap.

> Not being a kernel hacker myself, I've been told that it may be
> impossible to work around this processor bug.

Definitely not impossible. Apple wouldn't have been able to use these
chips otherwise. The bug affects the A-line trap as well. Since Apple
used A-line instructions for system calls, they needed to fix it in
software. However, they only fixed it for that one handler since they
didn't officially support FPU emulation.

	Brad Boyer
	flar@allandria.com



Reply to: