aboutsummaryrefslogtreecommitdiff
path: root/hw/pci-host/bonito.c
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@redhat.com>2019-09-26 15:42:11 +0200
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2023-01-13 16:22:57 +0100
commit4dd5cb5d847ed887dd0a00c602b08bade6f6ffa2 (patch)
tree242b24aba995e4a7b8619d0257bfaf37f1f9d97e /hw/pci-host/bonito.c
parente8dc34196b2a81b21469f6d95afc390ef645e63b (diff)
downloadqemu-4dd5cb5d847ed887dd0a00c602b08bade6f6ffa2.zip
qemu-4dd5cb5d847ed887dd0a00c602b08bade6f6ffa2.tar.gz
qemu-4dd5cb5d847ed887dd0a00c602b08bade6f6ffa2.tar.bz2
hw/pci-host/bonito: Convert to 3-phase reset
Convert the TYPE_PCI_BONITO class to use 3-phase reset. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230105130710.49264-2-philmd@linaro.org>
Diffstat (limited to 'hw/pci-host/bonito.c')
-rw-r--r--hw/pci-host/bonito.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
index f04f3ad..450eb29 100644
--- a/hw/pci-host/bonito.c
+++ b/hw/pci-host/bonito.c
@@ -47,7 +47,6 @@
#include "hw/mips/mips.h"
#include "hw/pci/pci_host.h"
#include "migration/vmstate.h"
-#include "sysemu/reset.h"
#include "sysemu/runstate.h"
#include "hw/misc/unimp.h"
#include "hw/registerfields.h"
@@ -593,9 +592,9 @@ static int pci_bonito_map_irq(PCIDevice *pci_dev, int irq_num)
}
}
-static void bonito_reset(void *opaque)
+static void bonito_reset_hold(Object *obj)
{
- PCIBonitoState *s = opaque;
+ PCIBonitoState *s = PCI_BONITO(obj);
uint32_t val = 0;
/* set the default value of north bridge registers */
@@ -739,8 +738,6 @@ static void bonito_realize(PCIDevice *dev, Error **errp)
pci_set_byte(dev->config + PCI_MIN_GNT, 0x3c);
pci_set_byte(dev->config + PCI_MAX_LAT, 0x00);
-
- qemu_register_reset(bonito_reset, s);
}
PCIBus *bonito_init(qemu_irq *pic)
@@ -770,7 +767,9 @@ static void bonito_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
+ ResettableClass *rc = RESETTABLE_CLASS(klass);
+ rc->phases.hold = bonito_reset_hold;
k->realize = bonito_realize;
k->vendor_id = 0xdf53;
k->device_id = 0x00d5;