|
@@ -1,7 +1,14 @@
|
|
#include "qemu/osdep.h"
|
|
#include "qemu/osdep.h"
|
|
|
|
+#include "hw/irq.h"
|
|
#include "hw/isa/vt82c686.h"
|
|
#include "hw/isa/vt82c686.h"
|
|
#include "hcd-uhci.h"
|
|
#include "hcd-uhci.h"
|
|
|
|
|
|
|
|
+static void uhci_isa_set_irq(void *opaque, int irq_num, int level)
|
|
|
|
+{
|
|
|
|
+ UHCIState *s = opaque;
|
|
|
|
+ via_isa_set_irq(&s->dev, 0, level);
|
|
|
|
+}
|
|
|
|
+
|
|
static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp)
|
|
static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp)
|
|
{
|
|
{
|
|
UHCIState *s = UHCI(dev);
|
|
UHCIState *s = UHCI(dev);
|
|
@@ -15,6 +22,8 @@ static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp)
|
|
pci_set_long(pci_conf + 0xc0, 0x00002000);
|
|
pci_set_long(pci_conf + 0xc0, 0x00002000);
|
|
|
|
|
|
usb_uhci_common_realize(dev, errp);
|
|
usb_uhci_common_realize(dev, errp);
|
|
|
|
+ object_unref(s->irq);
|
|
|
|
+ s->irq = qemu_allocate_irq(uhci_isa_set_irq, s, 0);
|
|
}
|
|
}
|
|
|
|
|
|
static UHCIInfo uhci_info[] = {
|
|
static UHCIInfo uhci_info[] = {
|