interrupt problem x86_64
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Hello.
I'm studing the x86_64 arch to port colinux to this new architecture.
For who does not know, colinux is a port of linux that runs on windows NATIVELY. Colinux is
1) a small windows driver
2) a kernel patched
3) some windows user-space application that talk with linux kernel (network, console, ...)
I have written the more internal part of colinux, that is the code that switch between windows and linux.
This is done saving and restore the machine state :
1) CR3
2) IDT
3) registers
The problem I see is that after the switch I see the reboot of my virtual machine.
I would say that the new IDT and/or CR3 is not flushed.
My code is written in asm/C so I can follow the code step by step.
I can say exactly the instruction that is broken.
All my code runs nicely on bochs.
I don't have an x86_64 real PC.
If someone wants to repair this bug .... I'm here.
Paolo Minazzi
Which version of QEMU did you use when you encountered this problem? Can you still reproduce this issue with the latest version of QEMU?