aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/ide/cmd646.c34
-rw-r--r--hw/ide/pci.h5
-rw-r--r--hw/ide/piix.c2
3 files changed, 11 insertions, 30 deletions
diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c
index 8c8daa146e..2107209e32 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 063ae96c76..690d0579a6 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 47d736d624..4583c42ec8 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);