qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Minimal Qemu build for Plan9
@ 2013-09-30  8:00 Ashish Kaila
  2013-09-30 13:37 ` Andreas Färber
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Ashish Kaila @ 2013-09-30  8:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: maneets

[-- Attachment #1: Type: text/plain, Size: 837 bytes --]

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


[-- Attachment #2: Type: text/html, Size: 2701 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Minimal Qemu build for Plan9
  2013-09-30  8:00 [Qemu-devel] Minimal Qemu build for Plan9 Ashish Kaila
@ 2013-09-30 13:37 ` Andreas Färber
  2013-09-30 13:55 ` Peter Maydell
  2013-10-02 10:10 ` Stefan Hajnoczi
  2 siblings, 0 replies; 4+ messages in thread
From: Andreas Färber @ 2013-09-30 13:37 UTC (permalink / raw)
  To: Ashish Kaila, qemu-devel; +Cc: maneets

Hi,

Am 30.09.2013 10:00, schrieb Ashish Kaila:
> 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 ?

Configuring with --target-list=i386-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 look
> 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

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Minimal Qemu build for Plan9
  2013-09-30  8:00 [Qemu-devel] Minimal Qemu build for Plan9 Ashish Kaila
  2013-09-30 13:37 ` Andreas Färber
@ 2013-09-30 13:55 ` Peter Maydell
  2013-10-02 10:10 ` Stefan Hajnoczi
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2013-09-30 13:55 UTC (permalink / raw)
  To: Ashish Kaila; +Cc: maneets, QEMU Developers

On 30 September 2013 17:00, Ashish Kaila <ashishkaila9@gmail.com> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Minimal Qemu build for Plan9
  2013-09-30  8:00 [Qemu-devel] Minimal Qemu build for Plan9 Ashish Kaila
  2013-09-30 13:37 ` Andreas Färber
  2013-09-30 13:55 ` Peter Maydell
@ 2013-10-02 10:10 ` Stefan Hajnoczi
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Hajnoczi @ 2013-10-02 10:10 UTC (permalink / raw)
  To: Ashish Kaila; +Cc: maneets, qemu-devel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-10-02 10:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-30  8:00 [Qemu-devel] Minimal Qemu build for Plan9 Ashish Kaila
2013-09-30 13:37 ` Andreas Färber
2013-09-30 13:55 ` Peter Maydell
2013-10-02 10:10 ` Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).