X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Flnx_virtio_symmod.c;h=f579f274008a6c74f5a0dd8fe27839146c9bef84;hb=ffd6d915b585a4a17a2d5b081313f0968885a105;hp=993dcb6727a95b8052926327fec7efb728cc1551;hpb=6d6988cc9c8bac21d96afd800076afe0915cf2cd;p=palacios.releases.git diff --git a/palacios/src/devices/lnx_virtio_symmod.c b/palacios/src/devices/lnx_virtio_symmod.c index 993dcb6..f579f27 100644 --- a/palacios/src/devices/lnx_virtio_symmod.c +++ b/palacios/src/devices/lnx_virtio_symmod.c @@ -238,7 +238,7 @@ static int handle_xfer_kick(struct guest_info * core, struct virtio_sym_state * if (!(q->avail->flags & VIRTIO_NO_IRQ_FLAG)) { PrintDebug("Raising IRQ %d\n", sym_state->pci_dev->config_header.intr_line); - v3_pci_raise_irq(sym_state->pci_bus, 0, sym_state->pci_dev); + v3_pci_raise_irq(sym_state->pci_bus, sym_state->pci_dev, 0); sym_state->virtio_cfg.pci_isr = 1; } @@ -307,7 +307,7 @@ static int handle_notification_kick(struct guest_info * core, struct virtio_sym_ if (!(q->avail->flags & VIRTIO_NO_IRQ_FLAG)) { PrintDebug("Raising IRQ %d\n", sym_state->pci_dev->config_header.intr_line); - v3_pci_raise_irq(sym_state->pci_bus, 0, sym_state->pci_dev); + v3_pci_raise_irq(sym_state->pci_bus, sym_state->pci_dev, 0); sym_state->virtio_cfg.pci_isr = 1; } @@ -491,7 +491,7 @@ static int virtio_io_read(struct guest_info * core, uint16_t port, void * dst, u case VIRTIO_ISR_PORT: *(uint8_t *)dst = sym_state->virtio_cfg.pci_isr; sym_state->virtio_cfg.pci_isr = 0; - v3_pci_lower_irq(sym_state->pci_bus, 0, sym_state->pci_dev); + v3_pci_lower_irq(sym_state->pci_bus, sym_state->pci_dev, 0); break; default: @@ -579,7 +579,7 @@ static int virtio_load_capsule(struct v3_vm_info * vm, struct v3_sym_capsule * m if (!(q->avail->flags & VIRTIO_NO_IRQ_FLAG)) { PrintDebug("SYMMOD: Raising IRQ %d\n", virtio->pci_dev->config_header.intr_line); - v3_pci_raise_irq(virtio->pci_bus, 0, virtio->pci_dev); + v3_pci_raise_irq(virtio->pci_bus, virtio->pci_dev, 0); virtio->virtio_cfg.pci_isr = 0x1; } @@ -622,6 +622,12 @@ static int virtio_init(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { } virtio_state = (struct virtio_sym_state *)V3_Malloc(sizeof(struct virtio_sym_state)); + + if (!virtio_state) { + PrintError("Cannot allocate in init\n"); + return -1; + } + memset(virtio_state, 0, sizeof(struct virtio_sym_state)); virtio_state->vm = vm; @@ -677,7 +683,7 @@ static int virtio_init(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { pci_dev = v3_pci_register_device(pci_bus, PCI_STD_DEVICE, 0, PCI_AUTO_DEV_NUM, 0, "LNX_VIRTIO_SYMMOD", bars, - NULL, NULL, NULL, virtio_state); + NULL, NULL, NULL, NULL, virtio_state); if (!pci_dev) { PrintError("Could not register PCI Device\n");