On Thu, Jun 18, 2009 at 08:30:46PM -0400, Gregory Haskins wrote:
+static int
+iosignalfd_group_in_range(struct kvm_io_device *this, gpa_t addr, int len,
+ int is_write)
+{
+ struct _iosignalfd_group *p = to_group(this);
+
+ return ((addr>= p->addr&& (addr< p->addr + p->length)));
+}
I think I see a problem here. For virtio, we do not necessarily want all
virtqueues for a device to live in kernel: there might be control
virtqueues that we want to leave in userspace. Since this claims all
writes to a specific address, the signal never makes it to userspace.