fixes a longstanding bug which causes a "Nonparity Synchronous Error" kernel panic while using a debugger on Solaris / SunOS systems. The panic would occur on the first attempt to single-step the process.
The problem stems from an lda instruction on ASI_USERTXT (8). This asi was not being resolved correctly by resolve_asi(). Further details can be found in #2281 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2281 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2059 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1609 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1166 Signed-off-by: M Bazz <b...@bazz1.com> --- target/sparc/translate.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/sparc/translate.c b/target/sparc/translate.c index 319934d9bd..1596005e22 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -3,6 +3,7 @@ Copyright (C) 2003 Thomas M. Ogrisegg <t...@fnord.at> Copyright (C) 2003-2005 Fabrice Bellard + Copyright (C) 2024 M Bazz <b...@bazz1.com> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -1159,6 +1160,7 @@ static DisasASI resolve_asi(DisasContext *dc, int asi, MemOp memop) || (asi == ASI_USERDATA && (dc->def->features & CPU_FEATURE_CASA))) { switch (asi) { + case ASI_USERTXT: /* User text access */ case ASI_USERDATA: /* User data access */ mem_idx = MMU_USER_IDX; type = GET_ASI_DIRECT; -- 2.43.0