From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50284) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X6n0b-0003oi-9y for qemu-devel@nongnu.org; Mon, 14 Jul 2014 16:38:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X6n0S-0005rf-8L for qemu-devel@nongnu.org; Mon, 14 Jul 2014 16:38:01 -0400 Received: from mail-qg0-x236.google.com ([2607:f8b0:400d:c04::236]:64181) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X6n0S-0005rX-4A for qemu-devel@nongnu.org; Mon, 14 Jul 2014 16:37:52 -0400 Received: by mail-qg0-f54.google.com with SMTP id z60so2498729qgd.13 for ; Mon, 14 Jul 2014 13:37:51 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <53C43F9B.6090907@redhat.com> Date: Mon, 14 Jul 2014 22:37:47 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <53C295C8.5040309@antistatix.de> <53C3C32A.4060705@redhat.com> <53C41CEC.5030705@campus.tu-berlin.de> In-Reply-To: <53C41CEC.5030705@campus.tu-berlin.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] hw/arm: add Lego NXT board List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org Il 14/07/2014 20:09, Alexander Graf ha scritto: > So the protocol basically allows to forward read and write accesses on > IO memory to processes outside of Qemu. > > Get and set transactions are triggered by Qemu on an IO memory read > operation or write operation respectively. The pipe communication blocks > Qemu until a value is available/the value was published. The obvious thing to consider is whether this could be used to circumvent the GPL. I think a generic memory-mapped I/O device interface is not a good idea in this respect, also because it's hard to get it right. But i2c is simple enough, and there are so many devices with a 4-page datasheet, that I think it would be acceptable. You could also write an i2c passthrough chardev backend that connects to /dev/i2c* and lets the guest access slaves in the host. Paolo > I like the *-over-chardev idea. This could be a benefit for people who > want to couple simulators or test oracles for embedded system tests or > in general to other software in a simple way.