Hi Andre...
> The problem that you are running into here is that sys_uname has been
> replaced by sys_newuname in kernel/sys.c. When I put a breakpoint in
> this function, everything works correctly when I run uname in the
> virtual machine.
yes, you're right. sys_newuname is the system call handler that handles
"uname" in kernel space, as it is confirmed with eax=122 when we reach
system_call entry in arch/i386/kernel/entry.S. Thanks for pointing me
into the correct handler.
> I'm not sure I exactly understand your concern that breakpoints could
> be missed. When you set the breakpoint, tb_invalidate_phys_page_range
> is called, invalidating the translation block block for the address
> where you are placing the breakpoint. At this point, the next time
> that the address is hit, translate.c:gen_intermediate_code will have
> to be called, and the breakpoint will be hit. Let me know if I've
> missed something here.
I'm not 100% sure too, but maybe I need to confirm what I understand
about "translation block" in Qemu. Suppose we have following asm
snippet:
<....>
mov eax,8
mov ebx,10
move ecx,16
ret
<....>
When qemu check the above codes, I learn that it is converted into a
single translation block ("ret" is the end mark of the translation
block). Do I get something wrong here? Please CMIIW.
regards
Mulyadi
_______________________________________________
Qemu-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/qemu-devel