diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -114,8 +114,10 @@ vs->vs_negotiated_caps = 0; vs->vs_curq = 0; /* vs->vs_status = 0; -- redundant */ +#ifdef __amd64__ if (vs->vs_isr) pci_lintr_deassert(vs->vs_pi); +#endif vs->vs_isr = 0; vs->vs_msix_cfg_idx = VIRTIO_MSI_NO_VECTOR; } @@ -162,8 +164,11 @@ /* Only 1 MSI vector for bhyve */ pci_emul_add_msicap(vs->vs_pi, 1); + /* XXX-MJ missing an implementation for arm64 */ +#ifdef __amd64__ /* Legacy interrupts are mandatory for virtio devices */ pci_lintr_request(vs->vs_pi); +#endif return (0); } @@ -651,8 +656,10 @@ case VIRTIO_PCI_ISR: value = vs->vs_isr; vs->vs_isr = 0; /* a read clears this flag */ +#ifdef __amd64__ if (value) pci_lintr_deassert(pi); +#endif break; case VIRTIO_MSI_CONFIG_VECTOR: value = vs->vs_msix_cfg_idx;