From: Ian Rogers <irogers@cs.man.ac.uk>
To: qemu-devel@nongnu.org
Cc: Darwine List <darwine-devel@lists.sourceforge.net>
Subject: Re: [Qemu-devel] qemu-darwin-user
Date: Fri, 27 Aug 2004 13:25:37 +0100 [thread overview]
Message-ID: <412F2841.4090407@cs.man.ac.uk> (raw)
In-Reply-To: <4C85E3A8-F823-11D8-8547-000A2796D230@opendarwin.org>
Hi,
I think there will be a fundamental limit you reach with this work. The
reason being the mach messages can contain pointers to data structures
which the kernel fills in. If the pointers are in the wrong endian then
the kernel will do something to the application. You can write code to
perform transformations on pointers for all the messages you can find
documentation on, but some systems will be entirely closed (for example,
microsofts messages). Of course you could emulate both the server and
the application, but I think you will need a lot of kernel jiggery
pokery still. I believe this is the same problem that stops Mac OS X
being in a 64bit memory space. You basically need different messages for
every kind of pointer you can have. Apple estimated it would take
6months to write support for all those messages, but they revised that
up to 2 years iirc. 64 bit OS X applications send 32bit messages
currently and pointers to datastructures must appear within the first
4Gb as a consequence. Let me know if I'm wrong.
Hope this is of help,
Ian
Pierre d'Herbemont wrote:
> Jocelyn,
>
> I am interested by your code, is there a place where I can get it?
>
> Pierre.
>
> Le 27 août 04, à 14:08, Jocelyn Mayer a écrit :
>
>> On Fri, 2004-08-27 at 13:13, Pierre d'Herbemont wrote:
>>
>>> Hi all,
>>
>>
>> Hi,
>>
>>> I have done some work on the darwin-user side. Since it doesn't work
>>> yet, I don't submit patch for it but I have updated the qemu branch on
>>> opendarwin [1][2], and you can now ./configure
>>> --target-list=i386-darwin-user. Basically it can load a Fat or a
>>> regular binary, and have the dynamic linker called. Unfortunately it
>>> crashes somewhere in _dyld_reloc right now.
>>
>>
>> You may be interressed to know that I have working code for BSD/Darwin
>> program emulation, including working FAT/mach-O loader.
>> In fact, I was working on Darwin emulation before I integrate my PPC
>> emulation code into Qemu.
>> As I already emulated all basic syscalls & sysctl for the 4 BSD flavours
>> (Net, Open, Free & Darwin), but Mach ones, you may like to get my code.
>> This code used to be in the Linux kernel but I can easily adapt it for
>> Qemu. The big missing parts to allow the execution of complex programs
>> are mach syscalls and signals management, but I guess this part can be
>> taken from Linux-user emulation with a few changes.
>>
>> --
>> Jocelyn Mayer <l_indien@magic.fr>
>> Never organized
>>
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-deve
> l
next prev parent reply other threads:[~2004-08-27 12:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-27 11:13 [Qemu-devel] qemu-darwin-user Pierre d'Herbemont
2004-08-27 12:08 ` Jocelyn Mayer
2004-08-27 12:17 ` Jocelyn Mayer
2004-08-27 12:19 ` Pierre d'Herbemont
2004-08-27 12:25 ` Ian Rogers [this message]
2004-08-27 13:02 ` Jocelyn Mayer
2004-08-27 13:49 ` Ian Rogers
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=412F2841.4090407@cs.man.ac.uk \
--to=irogers@cs.man.ac.uk \
--cc=darwine-devel@lists.sourceforge.net \
--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).