All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, David Hildenbrand <david@redhat.com>
Subject: [PULL 07/20] s390x/tcg: fix ignoring bit 63 when setting the storage key in SSKE
Date: Tue,  7 Sep 2021 15:14:36 +0200	[thread overview]
Message-ID: <20210907131449.493875-8-thuth@redhat.com> (raw)
In-Reply-To: <20210907131449.493875-1-thuth@redhat.com>

From: David Hildenbrand <david@redhat.com>

Right now we could set an 8-bit storage key via SSKE and retrieve it
again via ISKE, which is against the architecture description:

SSKE:
"
The new seven-bit storage-key value, or selected bits
thereof, is obtained from bit positions 56-62 of gen-
eral register R 1 . The contents of bit positions 0-55
and 63 of the register are ignored.
"

ISKE:
"
The seven-bit storage key is inserted in bit positions
56-62 of general register R 1 , and bit 63 is set to zero.
"

Let's properly ignore bit 63 to create the correct seven-bit storage key.

Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210903155514.44772-3-david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 target/s390x/tcg/mem_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c
index e0befd0f03..3c0820dd74 100644
--- a/target/s390x/tcg/mem_helper.c
+++ b/target/s390x/tcg/mem_helper.c
@@ -2210,7 +2210,7 @@ void HELPER(sske)(CPUS390XState *env, uint64_t r1, uint64_t r2)
         skeyclass = S390_SKEYS_GET_CLASS(ss);
     }
 
-    key = (uint8_t) r1;
+    key = r1 & 0xfe;
     skeyclass->set_skeys(ss, addr / TARGET_PAGE_SIZE, 1, &key);
    /*
     * As we can only flush by virtual address and not all the entries
-- 
2.27.0



  parent reply	other threads:[~2021-09-07 13:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-07 13:14 [PULL 00/20] s390x patches Thomas Huth
2021-09-07 13:14 ` [PULL 01/20] vfio-ccw: forward halt/clear errors Thomas Huth
2021-09-07 13:14 ` [PULL 02/20] css: fix actl handling for unit exceptions Thomas Huth
2021-09-07 13:14 ` [PULL 03/20] tests/tcg/s390x: Test SIGILL and SIGSEGV handling Thomas Huth
2021-09-07 13:14 ` [PULL 04/20] s390x/tcg: fix and optimize SPX (SET PREFIX) Thomas Huth
2021-09-07 13:14 ` [PULL 05/20] s390x/ioinst: Fix wrong MSCH alignment check on little endian Thomas Huth
2021-09-07 13:14 ` [PULL 06/20] s390x/tcg: wrap address for RRBE Thomas Huth
2021-09-07 13:14 ` Thomas Huth [this message]
2021-09-07 13:14 ` [PULL 08/20] s390x/tcg: convert real to absolute address for RRBE, SSKE and ISKE Thomas Huth
2021-09-07 13:14 ` [PULL 09/20] s390x/tcg: check for addressing exceptions " Thomas Huth
2021-09-07 13:14 ` [PULL 10/20] s390x/mmu_helper: no need to pass access type to mmu_translate_asce() Thomas Huth
2021-09-07 13:14 ` [PULL 11/20] s390x/mmu_helper: fixup mmu_translate() documentation Thomas Huth
2021-09-07 13:14 ` [PULL 12/20] s390x/mmu_helper: move address validation into mmu_translate*() Thomas Huth
2021-09-07 13:14 ` [PULL 13/20] s390x/mmu_helper: avoid setting the storage key if nothing changed Thomas Huth
2021-09-07 13:14 ` [PULL 14/20] hw/s390x/s390-skeys: use memory mapping to detect which storage keys to migrate Thomas Huth
2021-09-07 13:14 ` [PULL 15/20] hw/s390x/s390-skeys: use memory mapping to detect which storage keys to dump Thomas Huth
2021-09-07 13:14 ` [PULL 16/20] hw/s390x/s390-skeys: check if an address is valid before dumping the key Thomas Huth
2021-09-07 13:14 ` [PULL 17/20] hw/s390x/s390-skeys: rename skeys_enabled to skeys_are_enabled Thomas Huth
2021-09-07 13:14 ` [PULL 18/20] hw/s390x/s390-skeys: lazy storage key enablement under TCG Thomas Huth
2021-09-07 13:14 ` [PULL 19/20] s390x: Replace PAGE_SIZE, PAGE_SHIFT and PAGE_MASK Thomas Huth
2021-09-07 13:14 ` [PULL 20/20] s390x/cpumodel: Add more feature to gen16 default model Thomas Huth
2021-09-07 19:22 ` [PULL 00/20] s390x patches Peter Maydell

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=20210907131449.493875-8-thuth@redhat.com \
    --to=thuth@redhat.com \
    --cc=david@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.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.