qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 15/24] s390-ccw.img: Detect devices with stsch.


From: Alexander Graf
Subject: [Qemu-devel] [PATCH 15/24] s390-ccw.img: Detect devices with stsch.
Date: Fri, 26 Apr 2013 20:19:24 +0200

From: Cornelia Huck <address@hidden>

stsch is the canonical way to detect devices. As a bonus, we can
abort the loop if we get cc 3, and we need to check only the valid
devices (dnv set).

Signed-off-by: Cornelia Huck <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
 pc-bios/s390-ccw/main.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index 67f4987..fd40fa5 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -22,7 +22,7 @@ void virtio_panic(const char *string)
 
 static void virtio_setup(void)
 {
-    struct irb irb;
+    struct schib schib;
     int i;
     int r;
     bool found = false;
@@ -31,8 +31,11 @@ static void virtio_setup(void)
 
     for (i = 0; i < 0x10000; i++) {
         blk_schid.sch_no = i;
-        r = tsch(blk_schid, &irb);
-        if (r != 3) {
+        r = stsch_err(blk_schid, &schib);
+        if (r == 3) {
+            break;
+        }
+        if (schib.pmcw.dnv) {
             if (virtio_is_blk(blk_schid)) {
                 found = true;
                 break;
-- 
1.6.0.2




reply via email to

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