Commit 3ad9a57e4f0471d73e88a73f17a0e975a162c4e7

Authored by bellard
1 parent 7f777bf3

ide identify fix (initial patch by Jens Axboe)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@594 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 5 additions and 4 deletions
hw/ide.c
... ... @@ -393,22 +393,23 @@ static void ide_identify(IDEState *s)
393 393 stw_raw(p + 0, 0x0040);
394 394 stw_raw(p + 1, s->cylinders);
395 395 stw_raw(p + 3, s->heads);
396   - stw_raw(p + 4, 512 * s->sectors); /* sectors */
397   - stw_raw(p + 5, 512); /* sector size */
  396 + stw_raw(p + 4, 512 * s->sectors); /* XXX: retired, remove ? */
  397 + stw_raw(p + 5, 512); /* XXX: retired, remove ? */
398 398 stw_raw(p + 6, s->sectors);
399 399 padstr((uint8_t *)(p + 10), "QM00001", 20); /* serial number */
400   - stw_raw(p + 20, 3); /* buffer type */
  400 + stw_raw(p + 20, 3); /* XXX: retired, remove ? */
401 401 stw_raw(p + 21, 512); /* cache size in sectors */
402 402 stw_raw(p + 22, 4); /* ecc bytes */
403 403 padstr((uint8_t *)(p + 23), QEMU_VERSION, 8); /* firmware version */
404 404 padstr((uint8_t *)(p + 27), "QEMU HARDDISK", 40); /* model */
405 405 #if MAX_MULT_SECTORS > 1
406   - stw_raw(p + 47, MAX_MULT_SECTORS);
  406 + stw_raw(p + 47, 0x8000 | MAX_MULT_SECTORS);
407 407 #endif
408 408 stw_raw(p + 48, 1); /* dword I/O */
409 409 stw_raw(p + 49, 1 << 9); /* LBA supported, no DMA */
410 410 stw_raw(p + 51, 0x200); /* PIO transfer cycle */
411 411 stw_raw(p + 52, 0x200); /* DMA transfer cycle */
  412 + stw_raw(p + 53, 1); /* words 54-58 are valid */
412 413 stw_raw(p + 54, s->cylinders);
413 414 stw_raw(p + 55, s->heads);
414 415 stw_raw(p + 56, s->sectors);
... ...