Mulyadi Santosa wrote: > Hello... Hi.
>>I worked with pbrook on #qemu to debug this issue. The problem turns >>out to be that qemu's do_fork function on PowerPC zeroes out r7-r31 >>in the new CPU state structure after a clone, which it should not do, > > Josh....at least it proves (to me) that the parameters passed to the > clone() is correct. About the registers....well, this is completely new > for me. > > I wonder, what is the function of those registers (r7-r31)? Something > related with the segments? They are general-purpose registers, mostly used for whatever the process wants to use them for. Zeroing them out from under the child process is a Bad Thing, and is the reason for the bad memory access at a near-zero address. >>as the child's registers should match the parent; it also does not >>zero register r3, which holds the return value and should be zero in >>the child. I've prepared and attached a patch which should solve >>this problem. > > Nice...this is something we surely forgot from out last attempt to debug > the problem....return value. I was too focused on checking every memory > accesses were done inside process address space and function address > translation were done correctly :) Well, there were actually two problems here: the return value and the bad memory access. > Anyway, just a personal suggestion. You can put that patch to > qemu.dad-answers.com along with the description on how you found the > bug and what this patch does. I could post on that forum a link to my previous mail, if that would help. - Josh Triplett
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel