Alex Ionescu schrieb:
Hi,
adding the stack segment register to one instruction at the begin of
_KiFastCallEntry does fix the fpu problem for me.
That's really great! But how did you come to discover this? i.e, what
is the reason for the behavior? I'm glad it's fixed but I would like
to understand what's up.
I got the fpu crash while compiling ntoskrnl on ros. The dependency
files were build successful. The crash occurs at the first real
compilation. I've added many debug prints. I've never seen a fpu trap.
The crash was a page fault on address 0xffffffff. Eip and an other
register was 0xffffffff. The return address has point after a fpu
instruction. I've disabled sysenter and no crash occurs. So I had the
feeling that something was wrong with the stack, because the address
0xffffffff is very dirty. Currently I don't understand what is going on.
Finding the real bug was a little bit try and error.
- Hartmut