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>

Reply via email to