If there is no CD in drive, sparc system emulator fails to boot. This happens because error handling is a bit broken in scsi-disk.c. The older OpenBIOS just didn't care.

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
Fix booting without CD in drive.

Index: qemu/hw/scsi-disk.c
===================================================================
--- qemu.orig/hw/scsi-disk.c    2006-08-13 19:44:42.000000000 +0000
+++ qemu/hw/scsi-disk.c 2006-08-13 19:49:58.000000000 +0000
@@ -109,8 +109,10 @@
    uint32_t n;

    DPRINTF("Read %d (%d/%d)\n", len, s->buf_len, s->sector_count);
-    if (s->buf_len == 0 && s->sector_count == 0)
+    if (s->buf_len == 0 && s->sector_count == 0) {
+        scsi_command_complete(s, SENSE_NO_SENSE);
        return 1;
+    }

    if (s->buf_len) {
        n = s->buf_len;
@@ -447,6 +449,7 @@
            s->buf_len = 8;
        } else {
            scsi_command_complete(s, SENSE_NOT_READY);
+            return 0;
        }
        break;
    case 0x08:

_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to