Re: [kvm-unit-tests PATCH v2 3/4] s390x: Move stsi to library

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

 



On 21.08.19 12:47, Janosch Frank wrote:
> It's needed in multiple tests now.
> 
> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
> ---
>  lib/s390x/asm/arch_def.h | 16 ++++++++++++++++
>  s390x/skey.c             | 18 ------------------
>  2 files changed, 16 insertions(+), 18 deletions(-)
> 
> diff --git a/lib/s390x/asm/arch_def.h b/lib/s390x/asm/arch_def.h
> index 4bbb428..5f8f45e 100644
> --- a/lib/s390x/asm/arch_def.h
> +++ b/lib/s390x/asm/arch_def.h
> @@ -240,4 +240,20 @@ static inline void enter_pstate(void)
>  	load_psw_mask(mask);
>  }
>  
> +static inline int stsi(void *addr, int fc, int sel1, int sel2)
> +{
> +	register int r0 asm("0") = (fc << 28) | sel1;
> +	register int r1 asm("1") = sel2;
> +	int cc;
> +
> +	asm volatile(
> +		"stsi	0(%3)\n"
> +		"ipm	%[cc]\n"
> +		"srl	%[cc],28\n"
> +		: "+d" (r0), [cc] "=d" (cc)
> +		: "d" (r1), "a" (addr)
> +		: "cc", "memory");
> +	return cc;
> +}
> +
>  #endif
> diff --git a/s390x/skey.c b/s390x/skey.c
> index b1e11af..fd4fcc7 100644
> --- a/s390x/skey.c
> +++ b/s390x/skey.c
> @@ -70,24 +70,6 @@ static void test_set(void)
>  	       skey.str.acc == ret.str.acc && skey.str.fp == ret.str.fp);
>  }
>  
> -static inline int stsi(void *addr, int fc, int sel1, int sel2)
> -{
> -	register int r0 asm("0") = (fc << 28) | sel1;
> -	register int r1 asm("1") = sel2;
> -	int rc = 0;
> -
> -	asm volatile(
> -		"	stsi	0(%3)\n"
> -		"	jz	0f\n"
> -		"	lhi	%1,-1\n"
> -		"0:\n"
> -		: "+d" (r0), "+d" (rc)
> -		: "d" (r1), "a" (addr)
> -		: "cc", "memory");
> -
> -	return rc;
> -}
> -
>  /* Returns true if we are running under z/VM 6.x */
>  static bool check_for_zvm6(void)
>  {
> 

You don't simply move, you also modify and change the return value from
o/-1 to cc. AFAIKs, this should be fine.

Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

-- 

Thanks,

David / dhildenb



[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