[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 36/40] ivshmem: Split ivshmem-plain, ivshmem-
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v3 36/40] ivshmem: Split ivshmem-plain, ivshmem-doorbell off ivshmem |
Date: |
Mon, 21 Mar 2016 13:32:03 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
>From 74b97a070bdadb4343a63c7f214bcda30a0ab37e Mon Sep 17 00:00:00 2001
From: Markus Armbruster <address@hidden>
Date: Mon, 21 Mar 2016 13:12:10 +0100
Subject: [PATCH] fixup! ivshmem: Split ivshmem-plain, ivshmem-doorbell off
ivshmem
ivshmem_update_irq() must not touch INTx when the device doesn't use
it. The obvious guard would be the Interrupt Pin register in PCI
config space. However, since device ivshmem sets it even when it
doesn't have INTx, we check property "msi" instead. For the new
ivshmem-plain, we do need to check config space.
---
hw/misc/ivshmem.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index 18f6802..32ca70f 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -146,7 +146,8 @@ static void ivshmem_update_irq(IVShmemState *s)
uint32_t isr = s->intrstatus & s->intrmask;
/* No INTx with msi=on, whether the guest enabled MSI-X or not */
- if (ivshmem_has_feature(s, IVSHMEM_MSI)) {
+ if (ivshmem_has_feature(s, IVSHMEM_MSI)
+ || !d->config[PCI_INTERRUPT_PIN]) {
return;
}
--
2.4.3
- [Qemu-devel] [PATCH v3 21/40] ivshmem: Assert interrupts are set up once, (continued)
- [Qemu-devel] [PATCH v3 21/40] ivshmem: Assert interrupts are set up once, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 33/40] ivshmem: Inline check_shm_size() into its only caller, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 40/40] contrib/ivshmem-server: Print "not for production" warning, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 27/40] ivshmem: Rely on server sending the ID right after the version, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 26/40] ivshmem: Propagate errors through ivshmem_recv_setup(), Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 10/40] ivshmem: Rewrite specification document, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 36/40] ivshmem: Split ivshmem-plain, ivshmem-doorbell off ivshmem, Markus Armbruster, 2016/03/15
- Re: [Qemu-devel] [PATCH v3 36/40] ivshmem: Split ivshmem-plain, ivshmem-doorbell off ivshmem,
Markus Armbruster <=
- [Qemu-devel] [PATCH v3 30/40] ivshmem: Tighten check of property "size", Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 01/40] target-ppc: Document TOCTTOU in hugepage support, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 16/40] ivshmem: Fix harmless misuse of Error, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 34/40] qdev: New DEFINE_PROP_ON_OFF_AUTO, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 29/40] ivshmem: Simplify how we cope with short reads from server, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 39/40] ivshmem: Require master to have ID zero, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 31/40] ivshmem: Implement shm=... with a memory backend, Markus Armbruster, 2016/03/15
- [Qemu-devel] [PATCH v3 05/40] event_notifier: Make event_notifier_init_fd() #ifdef CONFIG_EVENTFD, Markus Armbruster, 2016/03/15