qemu-e2k/target-sparc
Blue Swirl 67494323f2 Sparc: fix non-faulting unassigned memory accesses
Commit b14ef7c9ab
introduced cpu_unassigned_access() function. On Sparc,
the function does not restore AREG0 used for global CPUState
on function exit, causing bugs with non-faulting unassigned
memory accesses. Alpha, Microblaze and MIPS are not affected.

Fix by restoring AREG0 on exit. Remove excess saving by
do_unassigned_access() functions.

Also ignore unassigned accesses outside of CPU context.

Reported-by: Bob Breuer <breuerr@mc.net>
Tested-by: Bob Breuer <breuerr@mc.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-08-01 21:26:03 +00:00
..
TODO Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
cpu.h SPARC64: implement addtional MMU faults related to nonfaulting load 2011-07-21 20:02:22 +00:00
helper.c target-sparc: Fix compiler errors (format strings) 2011-07-22 15:31:59 +00:00
helper.h SPARC64: fix VIS1 SIMD signed compare instructions 2011-07-20 20:44:23 +00:00
machine.c Remove exec-all.h include directives 2011-06-26 18:25:35 +00:00
op_helper.c Sparc: fix non-faulting unassigned memory accesses 2011-08-01 21:26:03 +00:00
translate.c SPARC64: implement %fprs dirty bits 2011-07-30 08:26:45 +00:00