Sparc: fix non-faulting unassigned memory accesses
Commit b14ef7c9 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: NBob Breuer <breuerr@mc.net> Tested-by: NBob Breuer <breuerr@mc.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
Showing
想要评论请 注册 或 登录