Re: More on the pentium workaround - the gotchas

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Sun, 16 Nov 1997 01:02:05 +0100 (MET)


Linus Torvalds wrote:
>
> movl $0xf00fc7c8,1f
> 1: int3
>
> which will take the int3 trap (because it has been pre-fetched), but then
> if the page fault handler notices that it was an int3 trap and switches
> back to the original IDT and re-executes it it will now hang the machine.
> Oops.

Is the Intel allowed to "misexecute" this sort of code?

I know that this once was a problem on a Pr1me 9955: Pr1me promised
that ALL software would work. ALL? Yes, ALL! Some code didn't.... Core
dumps exchanged, new micro code on floppy the next day.....

The point being that you should be able to assume linear code
execution, and that even when you're doing odd things, the
parallelisms in the processor should be hidden from the user.

On a commodore 64, this was "acceptable" programming practise: to
and/or/xor a line into graphics memory you dynamically patched the
line drawing routine to do the right thing.

Roger.

-- 
** R.E.Wolff@BitWizard.nl ** +31-15-2137555 ** http://www.BitWizard.nl/ **
Florida -- A 39 year old construction worker woke up this morning when a
109-car freight train drove over him. According to the police the man was 
drunk. The man himself claims he slipped while walking the dog. 080897