Re: [kvm-unit-tests PATCH 6/8] lib: s390x: Add PSW_MASK_64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 13 Aug 2021 07:36:13 +0000
Janosch Frank <frankja@xxxxxxxxxxxxx> wrote:

> Let's replace the magic 0x0000000180000000ULL numeric constants with
> PSW_MASK_64 as it's used more often since the introduction of smp and
> sie.
> 
> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx>

Reviewed-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>

> ---
>  lib/s390x/asm/arch_def.h | 3 +++
>  lib/s390x/smp.c          | 2 +-
>  s390x/mvpg-sie.c         | 2 +-
>  s390x/sie.c              | 2 +-
>  s390x/skrf.c             | 6 +++---
>  5 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/s390x/asm/arch_def.h b/lib/s390x/asm/arch_def.h
> index 39c5ba99..245453c3 100644
> --- a/lib/s390x/asm/arch_def.h
> +++ b/lib/s390x/asm/arch_def.h
> @@ -50,6 +50,9 @@ struct psw {
>  #define PSW_MASK_DAT			0x0400000000000000UL
>  #define PSW_MASK_WAIT			0x0002000000000000UL
>  #define PSW_MASK_PSTATE			0x0001000000000000UL
> +#define PSW_MASK_EA			0x0000000100000000UL
> +#define PSW_MASK_BA			0x0000000080000000UL
> +#define PSW_MASK_64			PSW_MASK_BA | PSW_MASK_EA;
>  
>  #define CR0_EXTM_SCLP			0x0000000000000200UL
>  #define CR0_EXTM_EXTC			0x0000000000002000UL
> diff --git a/lib/s390x/smp.c b/lib/s390x/smp.c
> index ee68d676..228fe667 100644
> --- a/lib/s390x/smp.c
> +++ b/lib/s390x/smp.c
> @@ -202,7 +202,7 @@ int smp_cpu_setup(uint16_t addr, struct psw psw)
>  	cpu->lowcore->sw_int_psw.addr = psw.addr;
>  	cpu->lowcore->sw_int_grs[14] = psw.addr;
>  	cpu->lowcore->sw_int_grs[15] = (uint64_t)cpu->stack +
> (PAGE_SIZE * 4);
> -	lc->restart_new_psw.mask = 0x0000000180000000UL;
> +	lc->restart_new_psw.mask = PSW_MASK_64;
>  	lc->restart_new_psw.addr = (uint64_t)smp_cpu_setup_state;
>  	lc->sw_int_crs[0] = 0x0000000000040000UL;
>  
> diff --git a/s390x/mvpg-sie.c b/s390x/mvpg-sie.c
> index 70d2fcfa..ccc273b4 100644
> --- a/s390x/mvpg-sie.c
> +++ b/s390x/mvpg-sie.c
> @@ -100,7 +100,7 @@ static void setup_guest(void)
>  	sie_guest_create(&vm, (uint64_t)guest, HPAGE_SIZE);
>  
>  	vm.sblk->gpsw.addr = PAGE_SIZE * 4;
> -	vm.sblk->gpsw.mask = 0x0000000180000000ULL;
> +	vm.sblk->gpsw.mask = PSW_MASK_64;
>  	vm.sblk->ictl = ICTL_OPEREXC | ICTL_PINT;
>  	/* Enable MVPG interpretation as we want to test KVM and not
> ourselves */ vm.sblk->eca = ECA_MVPGI;
> diff --git a/s390x/sie.c b/s390x/sie.c
> index ed2c3263..87575b29 100644
> --- a/s390x/sie.c
> +++ b/s390x/sie.c
> @@ -27,7 +27,7 @@ static struct vm vm;
>  static void test_diag(u32 instr)
>  {
>  	vm.sblk->gpsw.addr = PAGE_SIZE * 2;
> -	vm.sblk->gpsw.mask = 0x0000000180000000ULL;
> +	vm.sblk->gpsw.mask = PSW_MASK_64;
>  
>  	memset(guest_instr, 0, PAGE_SIZE);
>  	memcpy(guest_instr, &instr, 4);
> diff --git a/s390x/skrf.c b/s390x/skrf.c
> index 94e906a6..9488c32b 100644
> --- a/s390x/skrf.c
> +++ b/s390x/skrf.c
> @@ -125,15 +125,15 @@ static void ecall_cleanup(void)
>  {
>  	struct lowcore *lc = (void *)0x0;
>  
> -	lc->ext_new_psw.mask = 0x0000000180000000UL;
>  	lc->sw_int_crs[0] = 0x0000000000040000;
> +	lc->ext_new_psw.mask = PSW_MASK_64;
>  
>  	/*
>  	 * PGM old contains the ext new PSW, we need to clean it up,
>  	 * so we don't get a special operation exception on the lpswe
>  	 * of pgm old.
>  	 */
> -	lc->pgm_old_psw.mask = 0x0000000180000000UL;
> +	lc->pgm_old_psw.mask = PSW_MASK_64;
>  
>  	check_pgm_int_code(PGM_INT_CODE_SPECIFICATION);
>  	set_flag(1);
> @@ -148,7 +148,7 @@ static void ecall_setup(void)
>  	register_pgm_cleanup_func(ecall_cleanup);
>  	expect_pgm_int();
>  	/* Put a skey into the ext new psw */
> -	lc->ext_new_psw.mask = 0x00F0000180000000UL;
> +	lc->ext_new_psw.mask = 0x00F0000000000000UL | PSW_MASK_64;
>  	/* Open up ext masks */
>  	ctl_set_bit(0, CTL0_EXTERNAL_CALL);
>  	mask = extract_psw_mask();




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux