From mboxrd@z Thu Jan 1 00:00:00 1970 From: pav Subject: Qemu (host) <-> host userspace signaling? Date: Sun, 31 May 2009 17:38:10 +0000 (UTC) Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To: kvm@vger.kernel.org Return-path: Received: from main.gmane.org ([80.91.229.2]:56776 "EHLO ciao.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752355AbZEaSfH (ORCPT ); Sun, 31 May 2009 14:35:07 -0400 Received: from root by ciao.gmane.org with local (Exim 4.43) id 1MAps6-00038U-HS for kvm@vger.kernel.org; Sun, 31 May 2009 18:35:02 +0000 Received: from 101-mo5-13.acn.waw.pl ([85.222.120.101]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 31 May 2009 18:35:02 +0000 Received: from pav by 101-mo5-13.acn.waw.pl with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 31 May 2009 18:35:02 +0000 Sender: kvm-owner@vger.kernel.org List-ID: Hello, I am looking for a simple way to get a bidirectional event notification interface between qemu/kvm and host userspace processes. Just a "kick", messages/data not required. What I basically need is a way to have an interested host process informed by a custom qemu device that something happened (i.e. after a MMIO write) and the other way around - to allow similar notifications from the process to the qemu device. Of course I do not want qemu to sleep. Instant reaction to such events is not required. I understand I could use a unix socket and qemu_chr_open() and friends for this, but isn't a full-blown socket a bit of an overkill for a simple "kick" interface? >>From what I understand qemu would then act as a server and sleep just after starting (or later?), waiting for connections? Or maybe there is a way to reverse it, have qemu be the client, although that could still make qemu sleep?. I guess it could use some kind of poll/select, but I am not sure where in qemu should such code be put in though... Or maybe there is something else for this in qemu already? I had thought iosignalfd or eventfd were made for that, but if I understand correctly, they communicate with the guest and are for something different? I would be very greatful for your help. Best regards, Pav