qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [sparc32] do_unassigned_access vs. cpu_sparc_handle_mmu_fau


From: Artyom Tarasenko
Subject: [Qemu-devel] [sparc32] do_unassigned_access vs. cpu_sparc_handle_mmu_fault
Date: Wed, 16 Dec 2009 20:11:48 +0100

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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]