diff options
-rw-r--r-- | hw/ide/cmd646.c | 34 | ||||
-rw-r--r-- | hw/ide/pci.h | 5 | ||||
-rw-r--r-- | hw/ide/piix.c | 2 |
3 files changed, 11 insertions, 30 deletions
diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c index 8c8daa1..2107209 100644 --- a/hw/ide/cmd646.c +++ b/hw/ide/cmd646.c @@ -80,24 +80,17 @@ static uint32_t bmdma_readb(void *opaque, uint32_t addr) break; case 1: pci_dev = bm->pci_dev; - if (pci_dev->type == IDE_TYPE_CMD646) { - val = pci_dev->dev.config[MRDMODE]; - } else { - val = 0xff; - } + val = pci_dev->dev.config[MRDMODE]; break; case 2: val = bm->status; break; case 3: pci_dev = bm->pci_dev; - if (pci_dev->type == IDE_TYPE_CMD646) { - if (bm == &pci_dev->bmdma[0]) - val = pci_dev->dev.config[UDIDETCR0]; - else - val = pci_dev->dev.config[UDIDETCR1]; + if (bm == &pci_dev->bmdma[0]) { + val = pci_dev->dev.config[UDIDETCR0]; } else { - val = 0xff; + val = pci_dev->dev.config[UDIDETCR1]; } break; default: @@ -120,23 +113,19 @@ static void bmdma_writeb(void *opaque, uint32_t addr, uint32_t val) switch(addr & 3) { case 1: pci_dev = bm->pci_dev; - if (pci_dev->type == IDE_TYPE_CMD646) { - pci_dev->dev.config[MRDMODE] = - (pci_dev->dev.config[MRDMODE] & ~0x30) | (val & 0x30); - cmd646_update_irq(pci_dev); - } + pci_dev->dev.config[MRDMODE] = + (pci_dev->dev.config[MRDMODE] & ~0x30) | (val & 0x30); + cmd646_update_irq(pci_dev); break; case 2: bm->status = (val & 0x60) | (bm->status & 1) | (bm->status & ~val & 0x06); break; case 3: pci_dev = bm->pci_dev; - if (pci_dev->type == IDE_TYPE_CMD646) { - if (bm == &pci_dev->bmdma[0]) - pci_dev->dev.config[UDIDETCR0] = val; - else - pci_dev->dev.config[UDIDETCR1] = val; - } + if (bm == &pci_dev->bmdma[0]) + pci_dev->dev.config[UDIDETCR0] = val; + else + pci_dev->dev.config[UDIDETCR1] = val; break; } } @@ -211,7 +200,6 @@ static int pci_cmd646_ide_initfn(PCIDevice *dev) uint8_t *pci_conf = d->dev.config; qemu_irq *irq; - d->type = IDE_TYPE_CMD646; pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CMD); pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_CMD_646); diff --git a/hw/ide/pci.h b/hw/ide/pci.h index 063ae96..690d057 100644 --- a/hw/ide/pci.h +++ b/hw/ide/pci.h @@ -3,15 +3,10 @@ #include <hw/ide/internal.h> -#define IDE_TYPE_PIIX3 0 -#define IDE_TYPE_CMD646 1 -#define IDE_TYPE_PIIX4 2 - typedef struct PCIIDEState { PCIDevice dev; IDEBus bus[2]; BMDMAState bmdma[2]; - int type; /* see IDE_TYPE_xxx */ uint32_t secondary; } PCIIDEState; diff --git a/hw/ide/piix.c b/hw/ide/piix.c index 47d736d..4583c42 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -141,7 +141,6 @@ static int pci_piix3_ide_initfn(PCIDevice *dev) { PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, dev); - d->type = IDE_TYPE_PIIX3; pci_config_set_vendor_id(d->dev.config, PCI_VENDOR_ID_INTEL); pci_config_set_device_id(d->dev.config, PCI_DEVICE_ID_INTEL_82371SB_1); return pci_piix_ide_initfn(d); @@ -151,7 +150,6 @@ static int pci_piix4_ide_initfn(PCIDevice *dev) { PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, dev); - d->type = IDE_TYPE_PIIX4; pci_config_set_vendor_id(d->dev.config, PCI_VENDOR_ID_INTEL); pci_config_set_device_id(d->dev.config, PCI_DEVICE_ID_INTEL_82371AB); return pci_piix_ide_initfn(d); |