]> git.proxmox.com Git - mirror_qemu.git/commit
Sparc: fix non-faulting unassigned memory accesses
authorBlue Swirl <blauwirbel@gmail.com>
Mon, 1 Aug 2011 21:26:03 +0000 (21:26 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Mon, 1 Aug 2011 21:26:03 +0000 (21:26 +0000)
commit67494323f2c782fe3e65c60529fe9dfa613fc500
tree1e99ed4562eb475214f3923f8e5263acb04bf4ef
parent927d721777e73339f73719f36eaf400ab641366c
Sparc: fix non-faulting unassigned memory accesses

Commit b14ef7c9ab41ea824c3ccadb070ad95567cca84e
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>
target-sparc/op_helper.c