hw/isa/piix4: Resolve global instance variable
Now that piix4_set_irq's opaque parameter references own PIIX4State, piix4_dev becomes redundant. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20220217101924.15347-6-shentey@gmail.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
19b82e3e44
commit
34e57845d0
@ -39,8 +39,6 @@
|
||||
#include "sysemu/runstate.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
PCIDevice *piix4_dev;
|
||||
|
||||
struct PIIX4State {
|
||||
PCIDevice dev;
|
||||
qemu_irq cpu_intr;
|
||||
@ -58,16 +56,16 @@ static void piix4_set_irq(void *opaque, int irq_num, int level)
|
||||
{
|
||||
int i, pic_irq, pic_level;
|
||||
PIIX4State *s = opaque;
|
||||
PCIBus *bus = pci_get_bus(piix4_dev);
|
||||
PCIBus *bus = pci_get_bus(&s->dev);
|
||||
|
||||
/* now we change the pic irq level according to the piix irq mappings */
|
||||
/* XXX: optimize */
|
||||
pic_irq = piix4_dev->config[PIIX_PIRQCA + irq_num];
|
||||
pic_irq = s->dev.config[PIIX_PIRQCA + irq_num];
|
||||
if (pic_irq < 16) {
|
||||
/* The pic level is the logical OR of all the PCI irqs mapped to it. */
|
||||
pic_level = 0;
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (pic_irq == piix4_dev->config[PIIX_PIRQCA + i]) {
|
||||
if (pic_irq == s->dev.config[PIIX_PIRQCA + i]) {
|
||||
pic_level |= pci_bus_get_irq_level(bus, i);
|
||||
}
|
||||
}
|
||||
@ -219,8 +217,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp)
|
||||
return;
|
||||
}
|
||||
isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, RTC_ISA_IRQ);
|
||||
|
||||
piix4_dev = dev;
|
||||
}
|
||||
|
||||
static void piix4_init(Object *obj)
|
||||
|
@ -70,8 +70,6 @@ typedef struct PIIXState PIIX3State;
|
||||
DECLARE_INSTANCE_CHECKER(PIIX3State, PIIX3_PCI_DEVICE,
|
||||
TYPE_PIIX3_PCI_DEVICE)
|
||||
|
||||
extern PCIDevice *piix4_dev;
|
||||
|
||||
PIIX3State *piix3_create(PCIBus *pci_bus, ISABus **isa_bus);
|
||||
|
||||
DeviceState *piix4_create(PCIBus *pci_bus, ISABus **isa_bus, I2CBus **smbus);
|
||||
|
Loading…
Reference in New Issue
Block a user