Messages in this thread | | | Date | Sun, 4 Nov 2007 15:17:48 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [GIT PULL] x86 setup: correct booting on 486DX4 |
| |
On Sun, 4 Nov 2007, H. Peter Anvin wrote: > > Apparently, the 486DX4 does not correctly serialize a mov to %cr0, so > we really do need the far jump immediately afterwards.
Hmm. I'm not sure I agree with the commit message.
This is documented behaviour on i386 and i486: instruction decoding is decoupled from execution, so things that change processor mode have to do a jump to make sure that %cr0 changes take effect.
I'm not entirely sure that it needs to be a long-jump, btw. I think any regular branch is sufficient. You obviously *do* need to make the long jump later (to reload %cs in protected mode), but I'm not sure it's needed in that place. I forget the exact rules (but they definitely were documented).
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |