From: deller@kernel.org
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
Sven Schnelle <svens@stackframe.org>,
Jason Wang <jasowang@redhat.com>, Helge Deller <deller@gmx.de>
Subject: [PULL 08/12] target/hppa: Allow read-access to PSW with rsm 0, reg instruction
Date: Tue, 13 Feb 2024 00:47:19 +0100 [thread overview]
Message-ID: <20240212234723.222847-9-deller@kernel.org> (raw)
In-Reply-To: <20240212234723.222847-1-deller@kernel.org>
From: Helge Deller <deller@gmx.de>
HP-UX 11 and HP ODE tools use the "rsm 0,%reg" instruction in not priviledged
code paths to get the current PSW flags. The constant 0 means that no bits of
the PSW shall be reset, so this is effectively a read-only access to the PSW.
Allow this read-only access even for not privileged code.
Signed-off-by: Helge Deller <deller@gmx.de>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
---
target/hppa/translate.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 53ec57ee86..01f3188656 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -2156,10 +2156,16 @@ static bool trans_ldsid(DisasContext *ctx, arg_ldsid *a)
static bool trans_rsm(DisasContext *ctx, arg_rsm *a)
{
+#ifdef CONFIG_USER_ONLY
CHECK_MOST_PRIVILEGED(EXCP_PRIV_OPR);
-#ifndef CONFIG_USER_ONLY
+#else
TCGv_i64 tmp;
+ /* HP-UX 11i and HP ODE use rsm for read-access to PSW */
+ if (a->i) {
+ CHECK_MOST_PRIVILEGED(EXCP_PRIV_OPR);
+ }
+
nullify_over(ctx);
tmp = tcg_temp_new_i64();
--
2.43.0
next prev parent reply other threads:[~2024-02-12 23:48 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-12 23:47 [PULL 00/12] Hppa64 patches deller
2024-02-12 23:47 ` [PULL 01/12] disas/hppa: Add disassembly for qemu specific instructions deller
2024-02-12 23:47 ` [PULL 02/12] target/hppa: Add "diag 0x101" for console output support deller
2024-02-12 23:47 ` [PULL 03/12] hw/pci-host/astro: Avoid aborting on access failure deller
2024-02-12 23:47 ` [PULL 04/12] hw/pci-host/astro: Implement Hard Fail and Soft Fail mode deller
2024-02-12 23:47 ` [PULL 05/12] lasi: allow access to LAN MAC address registers deller
2024-02-12 23:47 ` [PULL 06/12] target/hppa: Implement do_transaction_failed handler for I/O errors deller
2024-02-12 23:47 ` [PULL 07/12] lasi: Add reset I/O ports for LASI audio and FDC deller
2024-02-12 23:47 ` deller [this message]
2024-02-12 23:47 ` [PULL 09/12] target/hppa: PDC_BTLB_INFO uses 32-bit ints deller
2024-02-12 23:47 ` [PULL 10/12] hw/net/tulip: add chip status register values deller
2024-02-12 23:47 ` [PULL 11/12] target/hppa: Update SeaBIOS-hppa to version 16 deller
2024-02-12 23:47 ` [PULL 12/12] hw/hppa/machine: Load 64-bit firmware on 64-bit machines deller
2024-02-13 15:50 ` [PULL 00/12] Hppa64 patches Peter Maydell
2024-02-13 18:09 ` Michael Tokarev
2024-02-13 19:16 ` Helge Deller
2024-02-14 9:07 ` Michael Tokarev
2024-02-14 14:58 ` Helge Deller
-- strict thread matches above, loose matches on Subject: below --
2024-02-11 12:28 deller
2024-02-11 12:29 ` [PULL 08/12] target/hppa: Allow read-access to PSW with rsm 0, reg instruction deller
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=20240212234723.222847-9-deller@kernel.org \
--to=deller@kernel.org \
--cc=deller@gmx.de \
--cc=jasowang@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=svens@stackframe.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.