OSDN Git Service

avoid error if too many sectors in non LBA mode
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 25 Apr 2004 17:58:25 +0000 (17:58 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 25 Apr 2004 17:58:25 +0000 (17:58 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@746 c046a42c-6fe2-441c-8c8c-71466251a162

hw/ide.c

index f5efa8e..0bef288 100644 (file)
--- a/hw/ide.c
+++ b/hw/ide.c
@@ -517,7 +517,7 @@ static void ide_set_sector(IDEState *s, int64_t sector_num)
         r = sector_num % (s->heads * s->sectors);
         s->hcyl = cyl >> 8;
         s->lcyl = cyl;
-        s->select = (s->select & 0xf0) | (r / s->sectors);
+        s->select = (s->select & 0xf0) | ((r / s->sectors) & 0x0f);
         s->sector = (r % s->sectors) + 1;
     }
 }