mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
dino: change dino_init() to return the DINO device instead of PCIBus
This is in preparation for using more qdev APIs during the configuration of the HPPA generic machine. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Helge Deller <deller@gmx.de> Message-Id: <20220504092600.10048-14-mark.cave-ayland@ilande.co.uk> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
0d98fbb57d
commit
05245daf47
3 changed files with 9 additions and 8 deletions
|
@ -409,12 +409,11 @@ static void dino_set_serial_irq(void *opaque, int irq, int level)
|
||||||
dino_set_irq(opaque, 10, level);
|
dino_set_irq(opaque, 10, level);
|
||||||
}
|
}
|
||||||
|
|
||||||
PCIBus *dino_init(MemoryRegion *addr_space,
|
DinoState *dino_init(MemoryRegion *addr_space,
|
||||||
qemu_irq *p_rtc_irq, qemu_irq *p_ser_irq)
|
qemu_irq *p_rtc_irq, qemu_irq *p_ser_irq)
|
||||||
{
|
{
|
||||||
DeviceState *dev;
|
DeviceState *dev;
|
||||||
DinoState *s;
|
DinoState *s;
|
||||||
PCIBus *pci_bus;
|
|
||||||
|
|
||||||
dev = qdev_new(TYPE_DINO_PCI_HOST_BRIDGE);
|
dev = qdev_new(TYPE_DINO_PCI_HOST_BRIDGE);
|
||||||
object_property_set_link(OBJECT(dev), "memory-as", OBJECT(addr_space),
|
object_property_set_link(OBJECT(dev), "memory-as", OBJECT(addr_space),
|
||||||
|
@ -428,8 +427,7 @@ PCIBus *dino_init(MemoryRegion *addr_space,
|
||||||
*p_rtc_irq = qemu_allocate_irq(dino_set_timer_irq, s, 0);
|
*p_rtc_irq = qemu_allocate_irq(dino_set_timer_irq, s, 0);
|
||||||
*p_ser_irq = qemu_allocate_irq(dino_set_serial_irq, s, 0);
|
*p_ser_irq = qemu_allocate_irq(dino_set_serial_irq, s, 0);
|
||||||
|
|
||||||
pci_bus = PCI_BUS(qdev_get_child_bus(dev, "pci"));
|
return s;
|
||||||
return pci_bus;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dino_pcihost_reset(DeviceState *dev)
|
static void dino_pcihost_reset(DeviceState *dev)
|
||||||
|
|
|
@ -9,8 +9,9 @@
|
||||||
#include "hw/intc/i8259.h"
|
#include "hw/intc/i8259.h"
|
||||||
|
|
||||||
#include "hppa_hardware.h"
|
#include "hppa_hardware.h"
|
||||||
|
#include "dino.h"
|
||||||
|
|
||||||
PCIBus *dino_init(MemoryRegion *, qemu_irq *, qemu_irq *);
|
DinoState *dino_init(MemoryRegion *, qemu_irq *, qemu_irq *);
|
||||||
DeviceState *lasi_init(MemoryRegion *);
|
DeviceState *lasi_init(MemoryRegion *);
|
||||||
#define enable_lasi_lan() 0
|
#define enable_lasi_lan() 0
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include "hw/char/serial.h"
|
#include "hw/char/serial.h"
|
||||||
#include "hw/net/lasi_82596.h"
|
#include "hw/net/lasi_82596.h"
|
||||||
#include "hw/nmi.h"
|
#include "hw/nmi.h"
|
||||||
|
#include "dino.h"
|
||||||
#include "hppa_sys.h"
|
#include "hppa_sys.h"
|
||||||
#include "qemu/units.h"
|
#include "qemu/units.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
|
@ -126,7 +127,7 @@ static void machine_hppa_init(MachineState *machine)
|
||||||
const char *kernel_filename = machine->kernel_filename;
|
const char *kernel_filename = machine->kernel_filename;
|
||||||
const char *kernel_cmdline = machine->kernel_cmdline;
|
const char *kernel_cmdline = machine->kernel_cmdline;
|
||||||
const char *initrd_filename = machine->initrd_filename;
|
const char *initrd_filename = machine->initrd_filename;
|
||||||
DeviceState *dev;
|
DeviceState *dev, *dino_dev;
|
||||||
PCIBus *pci_bus;
|
PCIBus *pci_bus;
|
||||||
ISABus *isa_bus;
|
ISABus *isa_bus;
|
||||||
qemu_irq rtc_irq, serial_irq;
|
qemu_irq rtc_irq, serial_irq;
|
||||||
|
@ -166,7 +167,8 @@ static void machine_hppa_init(MachineState *machine)
|
||||||
lasi_init(addr_space);
|
lasi_init(addr_space);
|
||||||
|
|
||||||
/* Init Dino (PCI host bus chip). */
|
/* Init Dino (PCI host bus chip). */
|
||||||
pci_bus = dino_init(addr_space, &rtc_irq, &serial_irq);
|
dino_dev = DEVICE(dino_init(addr_space, &rtc_irq, &serial_irq));
|
||||||
|
pci_bus = PCI_BUS(qdev_get_child_bus(dino_dev, "pci"));
|
||||||
assert(pci_bus);
|
assert(pci_bus);
|
||||||
|
|
||||||
/* Create ISA bus. */
|
/* Create ISA bus. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue