On Thu, Apr 21, 2011 at 7:44 PM, Laurent Desnogues <laurent.desnog...@gmail.com> wrote: > On Thu, Apr 21, 2011 at 4:57 PM, Artyom Tarasenko <atar4q...@gmail.com> wrote: >> On Tue, Apr 12, 2011 at 4:14 AM, Igor Kovalenko >> <igor.v.kovale...@gmail.com> wrote: >>>>> Do you have public test case? >>>>> It is possible to code this delay slot write test but real issue may >>>>> be corruption elsewhere. >> >> The test case is trivial: it's just the two instructions, branch and wrpr. >> >>> In theory there could be multiple issues including compiler induced ones. >>> I'd prefer to see some kind of reproducible testcase. >> >> Ok, attached a 40 byte long test (the first 32 bytes are not used and >> needed only because the bios entry point is 0x20). >> >> $ git pull && make && sparc64-softmmu/qemu-system-sparc64 -bios >> test-wrpr.bin -nographic >> Already up-to-date. >> make[1]: Nothing to be done for `all'. >> /mnt/terra/projects/vanilla/qemu/tcg/tcg.c:1892: tcg fatal error >> Aborted > > The problem seems to be that wrpr is using a non-local > TCG tmp (cpu_tmp0).
Just tried the test case with write to %pil - seems like write itself is OK. The issue appears to be with save_state() call since adding save_state to %pil case provokes the same tcg abort. -- Kind regards, Igor V. Kovalenko