For this reason, i want to use QEMU as my daily develop environment in future days.
since so many people insist on bochs, i think there must be some shortages with QEMU. Who can tell me a little?
-------------------------
yestoday my kernel cracked when tested with QEMU for the first time, the bug is finally located here:
Code: Select all
int ll_rw_block2(...){
...
ll_rw_block(dev_id, rw, curr ...);
kp_sleep(0, 0);
....
}
this function runs ok on bochs and real machine, but failed with QEMU. The reason is that I/O on QEMU is incredible fast, we received a disk IRQ before kp_sleep() !!
I fixed this bug using "cli" instruction to wrap the two lines ablove into a critical area ...
Anyway, this is a little pitfall i found on QEMU. can you write your experience here?