OSDN Git Service

Only IDE needs limits for CHS configuration
authorBlue Swirl <blauwirbel@gmail.com>
Sat, 17 Oct 2009 09:08:47 +0000 (09:08 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 17 Oct 2009 09:08:47 +0000 (09:08 +0000)
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
vl.c

diff --git a/vl.c b/vl.c
index 96838f8..eb2744e 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -2078,15 +2078,15 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
     }
 
     if (cyls || heads || secs) {
-        if (cyls < 1 || cyls > 16383) {
+        if (cyls < 1 || (type == IF_IDE && cyls > 16383)) {
             fprintf(stderr, "qemu: '%s' invalid physical cyls number\n", buf);
            return NULL;
        }
-        if (heads < 1 || heads > 16) {
+        if (heads < 1 || (type == IF_IDE && heads > 16)) {
             fprintf(stderr, "qemu: '%s' invalid physical heads number\n", buf);
            return NULL;
        }
-        if (secs < 1 || secs > 63) {
+        if (secs < 1 || (type == IF_IDE && secs > 63)) {
             fprintf(stderr, "qemu: '%s' invalid physical secs number\n", buf);
            return NULL;
        }