From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ew8VT-0004zN-0m for qemu-devel@nongnu.org; Mon, 09 Jan 2006 20:41:03 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ew8VR-0004zA-Fk for qemu-devel@nongnu.org; Mon, 09 Jan 2006 20:41:02 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ew8VR-0004z6-Br for qemu-devel@nongnu.org; Mon, 09 Jan 2006 20:41:01 -0500 Received: from [64.233.162.193] (helo=zproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Ew8Xo-0008HN-B0 for qemu-devel@nongnu.org; Mon, 09 Jan 2006 20:43:28 -0500 Received: by zproxy.gmail.com with SMTP id r28so3466188nza for ; Mon, 09 Jan 2006 17:38:58 -0800 (PST) Message-ID: <16af12af0601091738t2fbe336td1f7cfc19b832606@mail.gmail.com> Date: Mon, 9 Jan 2006 17:38:58 -0800 From: Andre Pech MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_1759_24698426.1136857138052" Subject: [Qemu-devel] Interest in hardware plugin functionality Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_1759_24698426.1136857138052 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, I have been using qemu to simulate various types of custom hardware for testing purposes. Rather than having to recompile qemu every time I change = a hardware simulation, I instead patched qemu to support dynamically loading hardware plugin files at run time. The basic idea is that you can specify .so files to load on the command line when you boot qemu. These files will be dlopened by qemu at run time, and will register themselves as hardware t= o the appropriate hardware controller (ie a PCI device hardware plugin registers itself with the PCI bus). I was hoping to get people's reactions to / interest in this sort of feature. Currently I have patched qemu to work for my own purposes, which required having to hack around some issues I ran into. These hacks do not require major changes in how qemu works, but are rather structural changes. For example, the qemu header file naming structure does not lend itself to being installed to somewhere like /usr/include/qemu, and would need some changing. This includes changing 'include "config.h"' to include 'include "qemu/config.h"' due to the common use of config.h by other packages, as well as working through the issues of how to structure things for building qemu hardware plugins against multiple architecture types. I am more than willing to put all the effort into turning this into a nice patch, if there is a maintainer interested in helping me shepherd this into the mainline. Thanks, Andre Pech ------=_Part_1759_24698426.1136857138052 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi,

I have been using qemu to simulate various types of custom hardware for testing purposes. Rather than having to recompile qemu every time I change a hardware simulation, I instead patched qemu to support dynamically loading hardware plugin files at run time. The basic idea is that you can specify .so files to load on the command line when you boot qemu. These files will be dlopened by qemu at run time, and will register themselves as hardware to the appropriate hardware controller (ie a PCI device hardware plugin registers itself with the PCI bus).

I was hoping to get people's reactions to / interest in this sort of feature. Currently I have patched qemu to work for my own purposes, which required having to hack around some issues I ran into. These hacks do not require major changes in how qemu works, but are rather structural changes. For example, the qemu header file naming structure does not lend itself to being installed to somewhere like /usr/include/qemu, and would need some changing= . This includes changing 'include "config.h"' to include 'include "qemu/config.h"' due to the common use of config.h by other packa= ges, as well as working through the issues of how to structure things for building qemu hardware plugins against multiple architecture types.

I am more than willing to put all the effort into turning this into a nice patch, if there is a maintainer interested in helping me shepherd this into= the mainline.

Thanks,
Andre Pech
------=_Part_1759_24698426.1136857138052--