[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/18] hw/ide/piix: Convert reset handler to DeviceReset
From: |
Eduardo Habkost |
Subject: |
[PULL 06/18] hw/ide/piix: Convert reset handler to DeviceReset |
Date: |
Tue, 15 Oct 2019 18:37:33 -0300 |
From: Philippe Mathieu-Daudé <address@hidden>
The PIIX/IDE is a PCI device within a PIIX chipset, it will be reset
when the PCI bus it stands on is reset.
Convert its reset handler into a proper Device reset method.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Li Qiang <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
hw/ide/piix.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index fba6bc8bff..db313dd3b1 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -30,7 +30,6 @@
#include "sysemu/block-backend.h"
#include "sysemu/blockdev.h"
#include "sysemu/dma.h"
-#include "sysemu/reset.h"
#include "hw/ide/pci.h"
#include "trace.h"
@@ -103,9 +102,9 @@ static void bmdma_setup_bar(PCIIDEState *d)
}
}
-static void piix3_reset(void *opaque)
+static void piix_ide_reset(DeviceState *dev)
{
- PCIIDEState *d = opaque;
+ PCIIDEState *d = PCI_IDE(dev);
PCIDevice *pd = PCI_DEVICE(d);
uint8_t *pci_conf = pd->config;
int i;
@@ -154,8 +153,6 @@ static void pci_piix_ide_realize(PCIDevice *dev, Error
**errp)
pci_conf[PCI_CLASS_PROG] = 0x80; // legacy ATA mode
- qemu_register_reset(piix3_reset, d);
-
bmdma_setup_bar(d);
pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, &d->bmdma_bar);
@@ -247,6 +244,7 @@ static void piix3_ide_class_init(ObjectClass *klass, void
*data)
DeviceClass *dc = DEVICE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
+ dc->reset = piix_ide_reset;
k->realize = pci_piix_ide_realize;
k->exit = pci_piix_ide_exitfn;
k->vendor_id = PCI_VENDOR_ID_INTEL;
@@ -273,6 +271,7 @@ static void piix4_ide_class_init(ObjectClass *klass, void
*data)
DeviceClass *dc = DEVICE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
+ dc->reset = piix_ide_reset;
k->realize = pci_piix_ide_realize;
k->exit = pci_piix_ide_exitfn;
k->vendor_id = PCI_VENDOR_ID_INTEL;
--
2.21.0
- [PULL 00/18] x86 and machine queue, 2019-10-15, Eduardo Habkost, 2019/10/15
- [PULL 01/18] tests: add qtest_qmp_device_add_qdict() helper, Eduardo Habkost, 2019/10/15
- [PULL 02/18] tests: cpu-plug-test: fix device_add for pc/q35 machines, Eduardo Habkost, 2019/10/15
- [PULL 03/18] numa: Introduce MachineClass::auto_enable_numa for implicit NUMA node, Eduardo Habkost, 2019/10/15
- [PULL 04/18] hw/acpi/piix4: Convert reset handler to DeviceReset, Eduardo Habkost, 2019/10/15
- [PULL 05/18] hw/isa/piix4: Convert reset handler to DeviceReset, Eduardo Habkost, 2019/10/15
- [PULL 06/18] hw/ide/piix: Convert reset handler to DeviceReset,
Eduardo Habkost <=
- [PULL 07/18] hw/ide/sii3112: Convert reset handler to DeviceReset, Eduardo Habkost, 2019/10/15
- [PULL 08/18] hw/ide/via82c: Convert reset handler to DeviceReset, Eduardo Habkost, 2019/10/15
- [PULL 09/18] hw/isa/vt82c686: Convert reset handler to DeviceReset, Eduardo Habkost, 2019/10/15
- [PULL 10/18] hw/input/lm832x: Convert reset handler to DeviceReset, Eduardo Habkost, 2019/10/15
- [PULL 11/18] hw/misc/vmcoreinfo: Add comment about reset handler, Eduardo Habkost, 2019/10/15
- [PULL 12/18] memory-device: not necessary to use goto for the last check, Eduardo Habkost, 2019/10/15
- [PULL 13/18] memory-device: break the loop if tmp exceed the hinted range, Eduardo Habkost, 2019/10/15
- [PULL 14/18] target/i386: clean up comments over 80 chars per line, Eduardo Habkost, 2019/10/15
- [PULL 15/18] target/i386: drop the duplicated definition of cpuid AVX512_VBMI macro, Eduardo Habkost, 2019/10/15
- [PULL 16/18] i386: Fix legacy guest with xsave panic on host kvm without update cpuid., Eduardo Habkost, 2019/10/15