Blue Swirl wrote: > 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 <breu...@mc.net> > Signed-off-by: Blue Swirl <blauwir...@gmail.com> > --- > target-sparc/op_helper.c | 25 ++++++++----------------- > 1 files changed, 8 insertions(+), 17 deletions(-) > [snip]
Works for my testcases. Tested-by: Bob Breuer <breu...@mc.net>