aboutsummaryrefslogtreecommitdiffstats
path: root/hw/ide/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/ide/internal.h')
-rw-r--r--hw/ide/internal.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/hw/ide/internal.h b/hw/ide/internal.h
index 1420e253a..b9a7c721a 100644
--- a/hw/ide/internal.h
+++ b/hw/ide/internal.h
@@ -379,7 +379,6 @@ struct IDEState {
int mult_sectors;
int identify_set;
uint16_t identify_data[256];
- qemu_irq irq;
int drive_serial;
char drive_serial_str[21];
/* ide regs */
@@ -399,8 +398,6 @@ struct IDEState {
uint8_t select;
uint8_t status;
- /* 0x3f6 command, only meaningful for drive 0 */
- uint8_t cmd;
/* set for lba48 access */
uint8_t lba48;
BlockDriverState *bs;
@@ -446,6 +443,8 @@ struct IDEBus {
BMDMAState *bmdma;
IDEState ifs[2];
uint8_t unit;
+ uint8_t cmd;
+ qemu_irq irq;
};
#define BM_STATUS_DMAING 0x01
@@ -490,14 +489,14 @@ static inline IDEState *bmdma_active_if(BMDMAState *bmdma)
return bmdma->bus->ifs + bmdma->unit;
}
-static inline void ide_set_irq(IDEState *s)
+static inline void ide_set_irq(IDEBus *bus)
{
- BMDMAState *bm = s->bus->bmdma;
- if (!(s->cmd & IDE_CMD_DISABLE_IRQ)) {
+ BMDMAState *bm = bus->bmdma;
+ if (!(bus->cmd & IDE_CMD_DISABLE_IRQ)) {
if (bm) {
bm->status |= BM_STATUS_INT;
}
- qemu_irq_raise(s->irq);
+ qemu_irq_raise(bus->irq);
}
}