All of lore.kernel.org
 help / color / mirror / Atom feed
From: deller@kernel.org
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Michael Tokarev <mjt@tls.msk.ru>, Bruno Haible <bruno@clisp.org>,
	"Nelson H . F . Beebe" <beebe@math.utah.edu>,
	Helge Deller <deller@gmx.de>
Subject: [PATCH v2 8/9] target/hppa: Avoid accessing %gr0 when raising exception
Date: Sun,  7 Jan 2024 14:22:36 +0100	[thread overview]
Message-ID: <20240107132237.50553-9-deller@kernel.org> (raw)
In-Reply-To: <20240107132237.50553-1-deller@kernel.org>

From: Helge Deller <deller@gmx.de>

The value of unwind_breg may reference register %r0, but we need to avoid
accessing gr0 directly and use the value 0 instead.

At runtime I've seen unwind_breg being zero with the Linux kernel when
rfi is used to jump to smp_callin().

Signed-off-by: Helge Deller <deller@gmx.de>
---
 target/hppa/mem_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/hppa/mem_helper.c b/target/hppa/mem_helper.c
index 011b192406..42bd0063c0 100644
--- a/target/hppa/mem_helper.c
+++ b/target/hppa/mem_helper.c
@@ -335,7 +335,7 @@ raise_exception_with_ior(CPUHPPAState *env, int excp, uintptr_t retaddr,
 
                 cpu_restore_state(cs, retaddr);
 
-                b = env->gr[env->unwind_breg];
+                b = env->unwind_breg ? env->gr[env->unwind_breg] : 0;
                 b >>= (env->psw & PSW_W ? 62 : 30);
                 env->cr[CR_IOR] |= b << 62;
 
-- 
2.43.0



  parent reply	other threads:[~2024-01-07 13:25 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-07 13:22 [PATCH v2 0/9] target/hppa qemu v8.2 regression fixes deller
2024-01-07 13:22 ` [PATCH v2 1/9] hw/hppa/machine: Allow up to 3840 MB total memory deller
2024-01-09  9:21   ` Richard Henderson
2024-01-07 13:22 ` [PATCH v2 2/9] hw/hppa/machine: Disable default devices with --nodefaults option deller
2024-01-09  9:57   ` Richard Henderson
2024-01-09 11:16     ` Helge Deller
2024-01-09 16:01       ` Richard Henderson
2024-01-11 22:28         ` Helge Deller
2024-01-12  5:09           ` Thomas Huth
2024-01-12  7:52             ` Helge Deller
2024-01-07 13:22 ` [PATCH v2 3/9] hw/pci-host/astro: Add missing astro & elroy registers for NetBSD deller
2024-01-07 13:22 ` [PATCH v2 4/9] target/hppa: Fix PDC address translation on PA2.0 with PSW.W=0 deller
2024-01-09  9:14   ` Richard Henderson
2024-01-09 11:22     ` Helge Deller
2024-01-09 16:18       ` Richard Henderson
2024-01-09 21:06         ` Helge Deller
2024-01-09 21:54           ` Richard Henderson
2024-01-07 13:22 ` [PATCH v2 5/9] target/hppa: Strip upper 32-bits of IOR on error in probe deller
2024-01-09 10:04   ` Richard Henderson
2024-01-07 13:22 ` [PATCH v2 6/9] target/hppa: Strip upper 32-bits of IOR on unaligned access error deller
2024-01-09 10:05   ` Richard Henderson
2024-01-07 13:22 ` [PATCH v2 7/9] hw/hppa: Move software power button address back into PDC deller
2024-01-07 13:22 ` deller [this message]
2024-01-09 10:06   ` [PATCH v2 8/9] target/hppa: Avoid accessing %gr0 when raising exception Richard Henderson
2024-01-07 13:22 ` [PATCH v2 9/9] target/hppa: Update SeaBIOS-hppa to version 15 deller
2024-01-07 13:49 ` [PATCH v2 0/9] target/hppa qemu v8.2 regression fixes Bruno Haible

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240107132237.50553-9-deller@kernel.org \
    --to=deller@kernel.org \
    --cc=beebe@math.utah.edu \
    --cc=bruno@clisp.org \
    --cc=deller@gmx.de \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.