Revision 9cdd03a7 hw/ide/internal.h

b/hw/ide/internal.h
379 379
    int mult_sectors;
380 380
    int identify_set;
381 381
    uint16_t identify_data[256];
382
    qemu_irq irq;
383 382
    int drive_serial;
384 383
    char drive_serial_str[21];
385 384
    /* ide regs */
......
399 398
    uint8_t select;
400 399
    uint8_t status;
401 400

  
402
    /* 0x3f6 command, only meaningful for drive 0 */
403
    uint8_t cmd;
404 401
    /* set for lba48 access */
405 402
    uint8_t lba48;
406 403
    BlockDriverState *bs;
......
446 443
    BMDMAState *bmdma;
447 444
    IDEState ifs[2];
448 445
    uint8_t unit;
446
    uint8_t cmd;
447
    qemu_irq irq;
449 448
};
450 449

  
451 450
#define BM_STATUS_DMAING 0x01
......
490 489
    return bmdma->bus->ifs + bmdma->unit;
491 490
}
492 491

  
493
static inline void ide_set_irq(IDEState *s)
492
static inline void ide_set_irq(IDEBus *bus)
494 493
{
495
    BMDMAState *bm = s->bus->bmdma;
496
    if (!(s->cmd & IDE_CMD_DISABLE_IRQ)) {
494
    BMDMAState *bm = bus->bmdma;
495
    if (!(bus->cmd & IDE_CMD_DISABLE_IRQ)) {
497 496
        if (bm) {
498 497
            bm->status |= BM_STATUS_INT;
499 498
        }
500
        qemu_irq_raise(s->irq);
499
        qemu_irq_raise(bus->irq);
501 500
    }
502 501
}
503 502

  

Also available in: Unified diff