qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [sparc32] do_unassigned_access vs. cpu_sparc_handle_mmu_fault
@ 2009-12-16 19:11 Artyom Tarasenko
  2009-12-19 10:45 ` [Qemu-devel] " Blue Swirl
  0 siblings, 1 reply; 2+ messages in thread
From: Artyom Tarasenko @ 2009-12-16 19:11 UTC (permalink / raw)
  To: qemu-devel, Blue Swirl

The function do_unassigned_access in op_helper.c looks very similar
 to the function cpu_sparc_handle_mmu_fault in helper.c and it is
called after the later one.

Why do we need to set env->mmuregs[3] and env->mmuregs[4]  twice?
Setting the SFSR and SFAR in do_unassigned_access looks redundant to
me and actually the second setting env->mmuregs[3] will also set the
overflow flag and therefore produce a wrong result.

Also

env->mmuregs[4] = addr;

looks wrong because addr is definied as target_phys_addr_t, so there
is a cast to the smaller uint_32 type.

If I remove the suspicious code from do_unassigned_access I can boot
Solaris 2.6.
Shall I produce a patch for 0.12?

-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-19 10:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-16 19:11 [Qemu-devel] [sparc32] do_unassigned_access vs. cpu_sparc_handle_mmu_fault Artyom Tarasenko
2009-12-19 10:45 ` [Qemu-devel] " Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).