qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jocelyn Mayer <jma@netgem.com>
To: qemu mailing list <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Misc patches for qemu
Date: 01 Jul 2003 00:41:52 +0200	[thread overview]
Message-ID: <1057012909.11615.283.camel@jma1.dev.netgem.com> (raw)
In-Reply-To: <1056727770.32104.70.camel@gaston>

Hi,

sorry for the long delay...

On Fri, 2003-06-27 at 17:29, Benjamin Herrenschmidt wrote: 
> > The goal for me is to be able to launch PPC programs including MacOS/MOL on a PC.
> > I would also like to launch OS-X processes under ix86 Linux, without the need
> > of the X kernel... A little help from inside the Linux kernel is needed,
> > but it seems that it can be done (I didn't say easily !).
> > I already have a few (native) BSD processes running under Linux using 2.4.20/21 kernels.
> 
> As far as MOL is concerned, you don't want to "run it" within qemu/ppc,
> but rather intergrate the CPU emulation inside of MOL. You can't just
> "run" MOL like a normal program on PPC, it relies on a kernel module
> doing the MMU virtualization among others, and you probably want to
> avoid that when hosted on non-x86. But you'd have to talk to Samuel
> about that

You're absolutely right, concerning the fact that the emulation should
better be in MOL, but I think that it would be a great thing to be able
to run it without patching the host kernel.


> Launching OS-X processes is another matter. (I mean just launching
> processes and not the whole operating system within MOL). You have to
> provide a syscall translation layer, of course, for the BSD-ish, but
> a _lot_ of OS X apps also rely on some Mach kernel semantics, and
> a few things like the Windows Server etc... will want to talk to
> the IOKit via Mach messages. So there is significant work to do to
> be able to run GUI OS X apps in linux (even on PPC)
> 
> Ben.

Once again, you're right. I started with BSD things to try to figure out
the patches needed in the standard kernel to use personality in standard
syscall paths. It's really simpler to do this than trying to emulate
Mach and Apple PPC syscalls. I made some tries with a Mach-O loader I
wrote and it appeared clearly that all OS-X apps need at least some
basics Mach syscall to make dyld able to link the app. So the work to be
done seems far to be simple and easy.

For now, I have the syscall diverter, all syscall tables for FreeBSD,
NetBSD OpenBSD and Darwin (including Mach syscalls, PPC ones and Darwin
"private" ones) and a few BSD syscalls really implemented.

I'll come back with this beautiful idea when I'll get Darwin ls or echo
running on my PC :=) 

For now, I'm trying to find bugs in my PPC emulation for qemu until I
can launch "real" processes and make it available as soon as possible...

Regards.

--

 

Jocelyn Mayer <jma@netgem.com>

      parent reply	other threads:[~2003-06-30 22:50 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-24 20:18 [Qemu-devel] Misc patches for qemu Jocelyn Mayer
2003-06-26 13:58 ` Johan Rydberg
2003-06-26 20:38   ` Jocelyn Mayer
2003-06-27  8:18     ` Benjamin Herrenschmidt
2003-06-27 13:55       ` Jocelyn Mayer
2003-06-27 15:29         ` Benjamin Herrenschmidt
2003-06-27 15:49           ` Benjamin Herrenschmidt
2003-06-30 22:41           ` Jocelyn Mayer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1057012909.11615.283.camel@jma1.dev.netgem.com \
    --to=jma@netgem.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).