qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 05/99] s390-ccw: force diag 308 subcode to unsig


From: Michael Roth
Subject: Re: [Qemu-devel] [PATCH 05/99] s390-ccw: force diag 308 subcode to unsigned long
Date: Mon, 23 Jul 2018 17:14:54 -0500
User-agent: alot/0.7

Quoting Michael Roth (2018-07-23 15:16:14)
> From: Cornelia Huck <address@hidden>
> 
> We currently pass an integer as the subcode parameter. However,
> the upper bits of the register containing the subcode need to
> be 0, which is not guaranteed unless we explicitly specify the
> subcode to be an unsigned long value.
> 
> Fixes: d046c51dad3 ("pc-bios/s390-ccw: Get device address via diag 308/6")
> Cc: address@hidden
> Signed-off-by: Cornelia Huck <address@hidden>
> Acked-by: Christian Borntraeger <address@hidden>
> Tested-by: Thomas Huth <address@hidden>
> Signed-off-by: Thomas Huth <address@hidden>
> (cherry picked from commit 63d8b5ace31c1e1f3996fe4cd551d6d377594d5a)
> Signed-off-by: Michael Roth <address@hidden>

Hi Cornelia,

Would you be able to do an s390 BIOS build for this one as well?

> ---
>  pc-bios/s390-ccw/iplb.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h
> index 5357a36d51..ded20c834e 100644
> --- a/pc-bios/s390-ccw/iplb.h
> +++ b/pc-bios/s390-ccw/iplb.h
> @@ -101,10 +101,11 @@ static inline bool manage_iplb(IplParameterBlock *iplb, 
> bool store)
>  {
>      register unsigned long addr asm("0") = (unsigned long) iplb;
>      register unsigned long rc asm("1") = 0;
> +    unsigned long subcode = store ? 6 : 5;
>  
>      asm volatile ("diag %0,%2,0x308\n"
>                    : "+d" (addr), "+d" (rc)
> -                  : "d" (store ? 6 : 5)
> +                  : "d" (subcode)
>                    : "memory", "cc");
>      return rc == 0x01;
>  }
> -- 
> 2.17.1
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]