[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[qemu-s390x] [PULL SUBSYSTEM s390x 09/10] s390-ccw: force diag 308 subco
From: |
Thomas Huth |
Subject: |
[qemu-s390x] [PULL SUBSYSTEM s390x 09/10] s390-ccw: force diag 308 subcode to unsigned long |
Date: |
Wed, 2 May 2018 16:33:28 +0200 |
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>
---
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 5357a36..ded20c8 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;
}
--
1.8.3.1
- [qemu-s390x] [PULL SUBSYSTEM s390x 00/10] s390-ccw firmware update - not for master, Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 01/10] pc-bios/s390-ccw: size_t should be unsigned, Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 04/10] pc-bios/s390-ccw: fix non-sequential boot entries (eckd), Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 02/10] pc-bios/s390-ccw: rename MAX_TABLE_ENTRIES to MAX_BOOT_ENTRIES, Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 03/10] pc-bios/s390-ccw: fix loadparm initialization and int conversion, Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 08/10] pc-bios/s390-ccw/net: Add support for .INS config files, Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 05/10] pc-bios/s390-ccw: fix non-sequential boot entries (enum), Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 09/10] s390-ccw: force diag 308 subcode to unsigned long,
Thomas Huth <=
- [qemu-s390x] [PULL SUBSYSTEM s390x 06/10] pc-bios/s390-ccw/net: Split up net_load() into init, load and release parts, Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 07/10] pc-bios/s390-ccw/net: Use diag308 to reset machine before jumping to the OS, Thomas Huth, 2018/05/02
- [qemu-s390x] [PULL SUBSYSTEM s390x 10/10] pc-bios/s390: Update firmware images, Thomas Huth, 2018/05/02
- Re: [qemu-s390x] [PULL SUBSYSTEM s390x 00/10] s390-ccw firmware update - not for master, Cornelia Huck, 2018/05/03