sparc32 do_unassigned_access overhaul v2
authorArtyom Tarasenko <atar4qemu@googlemail.com>
Fri, 15 Jan 2010 21:28:56 +0000 (22:28 +0100)
committerBlue Swirl <blauwirbel@gmail.com>
Fri, 15 Jan 2010 21:33:28 +0000 (21:33 +0000)
commit68cbff21f95cd6f44609b7e3c808f790f328b6bd
tree911b667315790cff9d418b7195c7088733464833
parent7e5b92b8ba33e597a646e8eea29b772d26fc716a
sparc32 do_unassigned_access overhaul v2

According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller
User's Manual":

1. "A lower priority fault may not overwrite the
    MFSR status of a higher priority fault."
2. The MFAR is overwritten according to the policy defined for the MFSR
3. The overwrite bit is asserted if the fault status register (MFSR)
   has been written more than once by faults of the same class
4. SuperSPARC will never place instruction fault addresses in the MFAR.

Implementation of points 1-3 allows booting Solaris 2.6 and 2.5.1.

v2: CODING_STYLE fixes

Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-sparc/op_helper.c