From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40166) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VQYOv-0004cg-Iq for qemu-devel@nongnu.org; Mon, 30 Sep 2013 04:00:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VQYOm-0007Ig-Jv for qemu-devel@nongnu.org; Mon, 30 Sep 2013 04:00:17 -0400 Received: from mail-qe0-x235.google.com ([2607:f8b0:400d:c02::235]:62149) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VQYOm-0007IM-FX for qemu-devel@nongnu.org; Mon, 30 Sep 2013 04:00:08 -0400 Received: by mail-qe0-f53.google.com with SMTP id jy17so3517545qeb.26 for ; Mon, 30 Sep 2013 01:00:07 -0700 (PDT) From: "Ashish Kaila" Date: Mon, 30 Sep 2013 04:00:05 -0400 Message-ID: <005f01cebdb3$131a9d30$394fd790$@gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0060_01CEBD91.8C09E790" Content-Language: en-in Subject: [Qemu-devel] Minimal Qemu build for Plan9 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: maneets@andrew.cmu.edu This is a multipart message in MIME format. ------=_NextPart_000_0060_01CEBD91.8C09E790 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, I am a graduate student from CMU and currently working on trying to port Qemu on plan9. I was trying to initially build a minimal Qemu with the least set of devices that are necessary to support a machine, however I noticed that I couldn't understand some of the dependencies such as requiring an audio driver during initialization. I am currently trying to port just the i386-softmmu version of Qemu to plan9 to keep things simple, here I noticed that pc_init1() initializes a host of devices on the PCI bus like the NIC card etc and was wondering if there is a bare minimum set of devices that Qemu needs to be built with ? Additionally if someone could point me to a to-do list of things to look out for while porting Qemu on a new platform (new OS/hardware), I would be extremely grateful. Thanks & Regards Ashish ------=_NextPart_000_0060_01CEBD91.8C09E790 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

I am a = graduate student from CMU and currently working on trying to port Qemu = on plan9. I was trying to initially build a minimal Qemu with the least = set of devices that are necessary to support a machine, however I = noticed that I couldn’t understand some of the dependencies such = as requiring an audio driver during initialization. I am currently = trying to port just the i386-softmmu version of Qemu to plan9 to keep = things simple, here I noticed that  pc_init1() initializes a host = of devices on the PCI bus like the NIC card etc and was wondering if = there is a bare minimum set of devices that Qemu needs to be built with = ?

 

Additionally if someone could point me to a to-do list = of things to look out for while porting Qemu on a new platform (new = OS/hardware), I would be extremely grateful.

 

Thanks & = Regards

Ashish

------=_NextPart_000_0060_01CEBD91.8C09E790-- From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54103) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VQdfn-0000pO-Vf for qemu-devel@nongnu.org; Mon, 30 Sep 2013 09:38:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VQdfg-0001OF-36 for qemu-devel@nongnu.org; Mon, 30 Sep 2013 09:38:03 -0400 Received: from cantor2.suse.de ([195.135.220.15]:38245 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VQdff-0001O5-Tn for qemu-devel@nongnu.org; Mon, 30 Sep 2013 09:37:56 -0400 Message-ID: <52497EB0.7020906@suse.de> Date: Mon, 30 Sep 2013 15:37:52 +0200 From: =?windows-1252?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <005f01cebdb3$131a9d30$394fd790$@gmail.com> In-Reply-To: <005f01cebdb3$131a9d30$394fd790$@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] Minimal Qemu build for Plan9 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ashish Kaila , qemu-devel@nongnu.org Cc: maneets@andrew.cmu.edu Hi, Am 30.09.2013 10:00, schrieb Ashish Kaila: > I am a graduate student from CMU and currently working on trying to por= t > Qemu on plan9. I was trying to initially build a minimal Qemu with the > least set of devices that are necessary to support a machine, however I > noticed that I couldn=92t understand some of the dependencies such as > requiring an audio driver during initialization. I am currently trying > to port just the i386-softmmu version of Qemu to plan9 to keep things > simple, here I noticed that pc_init1() initializes a host of devices o= n > the PCI bus like the NIC card etc and was wondering if there is a bare > minimum set of devices that Qemu needs to be built with ? Configuring with --target-list=3Di386-softmmu should already give you a minimal set of devices, omitting those that are irrelevant for x86 but including a few optional ones. However I don't understand why devices emulated in C code would pose a porting problem for you? If the code is not using portable POSIX constructs or suitable #ifdefs then please post patches to fix that rather than working around those type of things. > Additionally if someone could point me to a to-do list of things to loo= k > out for while porting Qemu on a new platform (new OS/hardware), I would > be extremely grateful. osdep.c and related files come to mind, configure obviously. Regards, Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VQdxa-0006Xm-MZ for qemu-devel@nongnu.org; Mon, 30 Sep 2013 09:56:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VQdxU-00087o-Ng for qemu-devel@nongnu.org; Mon, 30 Sep 2013 09:56:26 -0400 Received: from mail-la0-f49.google.com ([209.85.215.49]:61225) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VQdxU-00087Z-Gg for qemu-devel@nongnu.org; Mon, 30 Sep 2013 09:56:20 -0400 Received: by mail-la0-f49.google.com with SMTP id ev20so4380386lab.8 for ; Mon, 30 Sep 2013 06:56:18 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <005f01cebdb3$131a9d30$394fd790$@gmail.com> References: <005f01cebdb3$131a9d30$394fd790$@gmail.com> From: Peter Maydell Date: Mon, 30 Sep 2013 22:55:58 +0900 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] Minimal Qemu build for Plan9 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ashish Kaila Cc: maneets@andrew.cmu.edu, QEMU Developers On 30 September 2013 17:00, Ashish Kaila wrote: > Additionally if someone could point me to a to-do list of things to look out > for while porting Qemu on a new platform (new OS/hardware), I would be > extremely grateful. It doesn't get ported to new OSes very often, so there's no todo list already written. Do make sure you're using either a reasonably recent (4.x) gcc or clang: we make use of various compiler extensions that I don't think any other C compiler provides. Looking at the code I don't think we require an audio driver: if there is no available audio backend for the platform we should fall back to the two work-anywhere backends ("discard all audio" and "send audio to a .wav file"). -- PMM From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53788) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VRJOK-00055w-Ht for qemu-devel@nongnu.org; Wed, 02 Oct 2013 06:10:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VRJOC-0001aC-1W for qemu-devel@nongnu.org; Wed, 02 Oct 2013 06:10:48 -0400 Received: from mail-wi0-x231.google.com ([2a00:1450:400c:c05::231]:41739) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VRJOB-0001a3-FH for qemu-devel@nongnu.org; Wed, 02 Oct 2013 06:10:39 -0400 Received: by mail-wi0-f177.google.com with SMTP id cb5so632115wib.10 for ; Wed, 02 Oct 2013 03:10:38 -0700 (PDT) Date: Wed, 2 Oct 2013 12:10:36 +0200 From: Stefan Hajnoczi Message-ID: <20131002101036.GL2142@stefanha-thinkpad.redhat.com> References: <005f01cebdb3$131a9d30$394fd790$@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <005f01cebdb3$131a9d30$394fd790$@gmail.com> Subject: Re: [Qemu-devel] Minimal Qemu build for Plan9 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ashish Kaila Cc: maneets@andrew.cmu.edu, qemu-devel@nongnu.org On Mon, Sep 30, 2013 at 04:00:05AM -0400, Ashish Kaila wrote: > Additionally if someone could point me to a to-do list of things to look out > for while porting Qemu on a new platform (new OS/hardware), I would be > extremely grateful. Has glib been ported to Plan 9? You need it since much of QEMU uses this library. I guess the code you'll need to port are timers, thread pools, signal handling, thread-local storage and pthread usage, and maybe some mmap/mprotect calls. QEMU uses a coroutines implementation which is done using makecontext()/sigsetjmp()/siglongjmp() on Linux. Other OSes have their own coroutine implementations (see coroutine-*.c). This port is a lot of work. If you want to upstream the patches, consider if you're willing to test and maintain Plan 9 support in the long term. Since QEMU is actively developed just getting a port merged isn't enough, you need to stay involved and continue maintaining it otherwise the port would bitrot/need to be dropped. Stefan