I've just read the BIOS design note on that (not yet tackled that data
sheet), and it requires a fixed layout in the GDT (not a problem), and
flat 4G segments CS and SS. I think that this'll require a change as
doesn't the x86 kernel still rely upon the user segments being 3G(ish).
If so we'd have to use the paging h/w to protect all of the kernel.
Also it doesn't save the processor state other than EIP - and trashes
ECX too boot. Once you've added in the code to save and restore the
registers it obviously gets a bit slower. However the exercise may
still be worth it - anyone want to count instruction cycles?
Something else that looks useful is the ability (only on the K5?) to
not flush certain TLB entries on CR3 reloads. I believe that the Cyrix
6x86 also has a similar facility which actually locks some TLB enties
in a special seperate table.
DF
-- Derek Fawcus df@eyrie.demon.co.uk