diff mbox

[v1,1/3] target/s390x: change PSW_SHIFT_KEY

Message ID 20170613214736.19963-2-david@redhat.com
State New
Headers show

Commit Message

David Hildenbrand June 13, 2017, 9:47 p.m. UTC
Such shifts are usually used to easily extract the PSW KEY from the PSW
mask, so let's avoid the confisuing offset of 4.

Signed-off-by: David Hildenbrand <david@redhat.com>
---
 target/s390x/cpu.h       | 2 +-
 target/s390x/translate.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Thomas Huth June 14, 2017, 7:05 a.m. UTC | #1
On 13.06.2017 23:47, David Hildenbrand wrote:
> Such shifts are usually used to easily extract the PSW KEY from the PSW
> mask, so let's avoid the confisuing offset of 4.

s/confisuing/confusing/

> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>  target/s390x/cpu.h       | 2 +-
>  target/s390x/translate.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
> index a4028fb..532a4a0 100644
> --- a/target/s390x/cpu.h
> +++ b/target/s390x/cpu.h
> @@ -315,7 +315,7 @@ void s390x_cpu_debug_excp_handler(CPUState *cs);
>  #define PSW_MASK_IO             0x0200000000000000ULL
>  #define PSW_MASK_EXT            0x0100000000000000ULL
>  #define PSW_MASK_KEY            0x00F0000000000000ULL
> -#define PSW_SHIFT_KEY           56
> +#define PSW_SHIFT_KEY           52
>  #define PSW_MASK_MCHECK         0x0004000000000000ULL
>  #define PSW_MASK_WAIT           0x0002000000000000ULL
>  #define PSW_MASK_PSTATE         0x0001000000000000ULL
> diff --git a/target/s390x/translate.c b/target/s390x/translate.c
> index 8c055b7..fae006f 100644
> --- a/target/s390x/translate.c
> +++ b/target/s390x/translate.c
> @@ -3780,7 +3780,7 @@ static ExitStatus op_spka(DisasContext *s, DisasOps *o)
>  {
>      check_privileged(s);
>      tcg_gen_shri_i64(o->in2, o->in2, 4);
> -    tcg_gen_deposit_i64(psw_mask, psw_mask, o->in2, PSW_SHIFT_KEY - 4, 4);
> +    tcg_gen_deposit_i64(psw_mask, psw_mask, o->in2, PSW_SHIFT_KEY, 4);
>      return NO_EXIT;
>  }

Reviewed-by: Thomas Huth <thuth@redhat.com>
diff mbox

Patch

diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h
index a4028fb..532a4a0 100644
--- a/target/s390x/cpu.h
+++ b/target/s390x/cpu.h
@@ -315,7 +315,7 @@  void s390x_cpu_debug_excp_handler(CPUState *cs);
 #define PSW_MASK_IO             0x0200000000000000ULL
 #define PSW_MASK_EXT            0x0100000000000000ULL
 #define PSW_MASK_KEY            0x00F0000000000000ULL
-#define PSW_SHIFT_KEY           56
+#define PSW_SHIFT_KEY           52
 #define PSW_MASK_MCHECK         0x0004000000000000ULL
 #define PSW_MASK_WAIT           0x0002000000000000ULL
 #define PSW_MASK_PSTATE         0x0001000000000000ULL
diff --git a/target/s390x/translate.c b/target/s390x/translate.c
index 8c055b7..fae006f 100644
--- a/target/s390x/translate.c
+++ b/target/s390x/translate.c
@@ -3780,7 +3780,7 @@  static ExitStatus op_spka(DisasContext *s, DisasOps *o)
 {
     check_privileged(s);
     tcg_gen_shri_i64(o->in2, o->in2, 4);
-    tcg_gen_deposit_i64(psw_mask, psw_mask, o->in2, PSW_SHIFT_KEY - 4, 4);
+    tcg_gen_deposit_i64(psw_mask, psw_mask, o->in2, PSW_SHIFT_KEY, 4);
     return NO_EXIT;
 }