diff options
Diffstat (limited to 'target')
-rw-r--r-- | target/s390x/cpu.c | 4 | ||||
-rw-r--r-- | target/s390x/cpu.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 8da1905485..3dd396e870 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -78,13 +78,13 @@ static void s390_cpu_load_normal(CPUState *s) S390CPU *cpu = S390_CPU(s); uint64_t spsw = ldq_phys(s->as, 0); - cpu->env.psw.mask = spsw & 0xffffffff80000000ULL; + cpu->env.psw.mask = spsw & PSW_MASK_SHORT_CTRL; /* * Invert short psw indication, so SIE will report a specification * exception if it was not set. */ cpu->env.psw.mask ^= PSW_MASK_SHORTPSW; - cpu->env.psw.addr = spsw & 0x7fffffffULL; + cpu->env.psw.addr = spsw & PSW_MASK_SHORT_ADDR; s390_cpu_set_state(S390_CPU_STATE_OPERATING, cpu); } diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index 8a557fd8d1..1d17709d6e 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -276,7 +276,8 @@ extern const VMStateDescription vmstate_s390_cpu; #define PSW_MASK_RI 0x0000008000000000ULL #define PSW_MASK_64 0x0000000100000000ULL #define PSW_MASK_32 0x0000000080000000ULL -#define PSW_MASK_ESA_ADDR 0x000000007fffffffULL +#define PSW_MASK_SHORT_ADDR 0x000000007fffffffULL +#define PSW_MASK_SHORT_CTRL 0xffffffff80000000ULL #undef PSW_ASC_PRIMARY #undef PSW_ASC_ACCREG |