qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications
@ 2005-10-21 20:16 Steven
  2005-10-21 21:19 ` Jim C. Brown
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Steven @ 2005-10-21 20:16 UTC (permalink / raw)
  To: qemu-devel

Hi all,

Looking at qemu, it seems as if it could be possible to allow it to
run Intel OS X apps on PowerPC OS X, much like a reverse Rosetta. The
x86 frameworks/libraries are included with Xcode, so possibly
everything else could run natively, just have the app itself emulated.

Is anybody willing to try getting this to work?

Thanks,
Steve

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications
  2005-10-21 20:16 [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications Steven
@ 2005-10-21 21:19 ` Jim C. Brown
  2005-10-21 21:52   ` Paul Brook
  2005-10-21 21:31 ` René Korthaus
  2005-10-23  7:32 ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications Pierre d'Herbemont
  2 siblings, 1 reply; 12+ messages in thread
From: Jim C. Brown @ 2005-10-21 21:19 UTC (permalink / raw)
  To: qemu-devel

On Fri, Oct 21, 2005 at 09:16:18PM +0100, Steven wrote:
> Hi all,
> 
> Looking at qemu, it seems as if it could be possible to allow it to
> run Intel OS X apps on PowerPC OS X, much like a reverse Rosetta. The
> x86 frameworks/libraries are included with Xcode, so possibly
> everything else could run natively, just have the app itself emulated.
> 
> Is anybody willing to try getting this to work?
> 
> Thanks,
> Steve
> 

AFAIK no one is working on it. user emulation is strictly linux-only for the
time being. (1)

Getting this to work isn't very hard at all, you'd just have to change the
syscall code to be what Darwin uses.

(1) I believe there is an m68k target being worked on, which is not strictly
linux only. I haven't looked at it very closely and am not sure of the details.
But this doesn't really help you anyways.

-- 
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications
  2005-10-21 20:16 [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications Steven
  2005-10-21 21:19 ` Jim C. Brown
@ 2005-10-21 21:31 ` René Korthaus
  2005-10-22  8:06   ` Steven
  2005-10-23  7:32 ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications Pierre d'Herbemont
  2 siblings, 1 reply; 12+ messages in thread
From: René Korthaus @ 2005-10-21 21:31 UTC (permalink / raw)
  To: qemu-devel


Am 21.10.2005 um 22:16 schrieb Steven:

> Hi all,
>
> Looking at qemu, it seems as if it could be possible to allow it to
> run Intel OS X apps on PowerPC OS X, much like a reverse Rosetta. The
> x86 frameworks/libraries are included with Xcode, so possibly
> everything else could run natively, just have the app itself emulated.

Anyway, I ask myself if this is useful at all?! Apple introduced  
Universal Binaries along with XCode 2.1, so Intel OS X apps will run  
on PPC, too, if they are Universal Binary formatted. This does make  
sense for almost all apps, cause not all macusers can afford an Intel  
Mac as soon as they are released and software vendors want to earn  
money!

>
> Is anybody willing to try getting this to work?
>
> Thanks,
> Steve
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>
>

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications
  2005-10-21 21:19 ` Jim C. Brown
@ 2005-10-21 21:52   ` Paul Brook
  0 siblings, 0 replies; 12+ messages in thread
From: Paul Brook @ 2005-10-21 21:52 UTC (permalink / raw)
  To: qemu-devel

> (1) I believe there is an m68k target being worked on, which is not
> strictly linux only. I haven't looked at it very closely and am not sure of
> the details. But this doesn't really help you anyways.

The m68k target supports a very simple semihosting syscall layer, similar to 
the the "angel" swi interface already implemented on Arm targets. Neither of 
these help darwin emulation.

It's worth noting that OSX has two types of syscalls. IIRC one uses positive 
syscall IDs, th other negative:
- The Darwin syscalls.  Thees are more-ore-less the same as the linux layer, 
and should be fairly easy. You can also examine/borrow from the open source 
Darwin kernels.
- The Mach syscalls, and all the message passing bits (eg IOkit). Some (many?) 
of these are proprietary. Might not be too hard to pass these through to an 
OSX host, but I wouldn't bet on it.

Paul

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications
  2005-10-21 21:31 ` René Korthaus
@ 2005-10-22  8:06   ` Steven
  2005-10-25 11:37     ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntel applications Vesselin Peev
  0 siblings, 1 reply; 12+ messages in thread
From: Steven @ 2005-10-22  8:06 UTC (permalink / raw)
  To: qemu-devel

Yes I think this would be useful because there are situations where
developers do not create universal binaries. This is most apparent
with the host of applications being ported to Mac OS X on Intel that
aren't compiled using GCC4 and are therefore Intel-only.

And also, it might help future-proof current Macs a little, as
developers won't offer Universal Binaries forever.

Steve

On 10/21/05, René Korthaus <qemu-dev@cordney.com> wrote:
>
> Am 21.10.2005 um 22:16 schrieb Steven:
>
> > Hi all,
> >
> > Looking at qemu, it seems as if it could be possible to allow it to
> > run Intel OS X apps on PowerPC OS X, much like a reverse Rosetta. The
> > x86 frameworks/libraries are included with Xcode, so possibly
> > everything else could run natively, just have the app itself emulated.
>
> Anyway, I ask myself if this is useful at all?! Apple introduced
> Universal Binaries along with XCode 2.1, so Intel OS X apps will run
> on PPC, too, if they are Universal Binary formatted. This does make
> sense for almost all apps, cause not all macusers can afford an Intel
> Mac as soon as they are released and software vendors want to earn
> money!
>
> >
> > Is anybody willing to try getting this to work?
> >
> > Thanks,
> > Steve
> >
> >
> > _______________________________________________
> > Qemu-devel mailing list
> > Qemu-devel@nongnu.org
> > http://lists.nongnu.org/mailman/listinfo/qemu-devel
> >
> >
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications
  2005-10-21 20:16 [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications Steven
  2005-10-21 21:19 ` Jim C. Brown
  2005-10-21 21:31 ` René Korthaus
@ 2005-10-23  7:32 ` Pierre d'Herbemont
  2 siblings, 0 replies; 12+ messages in thread
From: Pierre d'Herbemont @ 2005-10-23  7:32 UTC (permalink / raw)
  To: qemu-devel

On 21 oct. 05, at 22:16, Steven wrote:

> Hi all,
>
> Looking at qemu, it seems as if it could be possible to allow it to
> run Intel OS X apps on PowerPC OS X, much like a reverse Rosetta. The
> x86 frameworks/libraries are included with Xcode, so possibly
> everything else could run natively, just have the app itself emulated.
>
> Is anybody willing to try getting this to work?

I used to work on it. I will resume the work in 6 months.

http://wiki.opendarwin.org/index.php/Darwine:qemu-darwin-user

The remaining problems were mostly the apple only (that only dyld  
should call) syscalls like load_shared_file, which needs to be  
implemented properly.

Pierre.

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntel applications
  2005-10-22  8:06   ` Steven
@ 2005-10-25 11:37     ` Vesselin Peev
  2005-10-25 15:00       ` André Braga
  0 siblings, 1 reply; 12+ messages in thread
From: Vesselin Peev @ 2005-10-25 11:37 UTC (permalink / raw)
  To: qemu-devel

Hello,

Such a QEMU capability would be quite useful once the Intel Macs start 
becoming widespread. While you could make a Universal Binary without 
changees, it is likely that the average app would experience various issues, 
some of them very subtle, when executed on Intel, because the latter is a 
little-endian architecture as opposed to the big-endian one (PowerPC) of 
today.  Today, most applications are written for a single endian type. Few 
apps can handle more than a single endian type. It is a considerable hassle 
and requires double the testing to support 2 endian types (I am not saying 
it is generally not good to be done, though!). That won't change with the 
introduction of Intel Macs. In other words, the Mac world would start 
switching en masse from big endian (PowerPC) to little endian (Intel x86) in 
their programs. After a relatively short transitory period (2-3 years, I 
think), most Mac apps, and especially entirely new ones, would be developed 
only for Intel. QEMU could very well be the answer to bringing those apps to 
the older Macs.

Steve Jobs and his marketing machine is the culprit for the disinformation. 
On stage during the Apple WWDC, he demonstrated that all it takes to produce 
two working Intel and PPC binaries is to enable two checkboxes, never 
mentioning the subtle endianness issues. The audience applauded...

-Vesko

----- Original Message ----- 
From: "Steven" <grabberslasher@gmail.com>
To: <qemu-devel@nongnu.org>
Sent: Saturday, October 22, 2005 11:06 AM
Subject: Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS 
XIntel applications


Yes I think this would be useful because there are situations where
developers do not create universal binaries. This is most apparent
with the host of applications being ported to Mac OS X on Intel that
aren't compiled using GCC4 and are therefore Intel-only.

And also, it might help future-proof current Macs a little, as
developers won't offer Universal Binaries forever.

Steve

On 10/21/05, René Korthaus <qemu-dev@cordney.com> wrote:
>
> Am 21.10.2005 um 22:16 schrieb Steven:
>
> > Hi all,
> >
> > Looking at qemu, it seems as if it could be possible to allow it to
> > run Intel OS X apps on PowerPC OS X, much like a reverse Rosetta. The
> > x86 frameworks/libraries are included with Xcode, so possibly
> > everything else could run natively, just have the app itself emulated.
>
> Anyway, I ask myself if this is useful at all?! Apple introduced
> Universal Binaries along with XCode 2.1, so Intel OS X apps will run
> on PPC, too, if they are Universal Binary formatted. This does make
> sense for almost all apps, cause not all macusers can afford an Intel
> Mac as soon as they are released and software vendors want to earn
> money!
>
> >
> > Is anybody willing to try getting this to work?
> >
> > Thanks,
> > Steve
> >
> >
> > _______________________________________________
> > Qemu-devel mailing list
> > Qemu-devel@nongnu.org
> > http://lists.nongnu.org/mailman/listinfo/qemu-devel
> >
> >
>
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntel applications
  2005-10-25 11:37     ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntel applications Vesselin Peev
@ 2005-10-25 15:00       ` André Braga
  2005-10-25 16:36         ` Djame Seddah
  2005-10-25 17:07         ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OSXIntel applications Vesselin Peev
  0 siblings, 2 replies; 12+ messages in thread
From: André Braga @ 2005-10-25 15:00 UTC (permalink / raw)
  To: qemu-devel

That actually IS true if you only use the Cocoa framework abstractions
to manipulate all data structures. They are endian-agnostic (i.e.,
they perform implicit conversions).



On 10/25/05, Vesselin Peev <vesselinpeev@hotmail.com> wrote:
> Steve Jobs and his marketing machine is the culprit for the disinformation.
> On stage during the Apple WWDC, he demonstrated that all it takes to produce
> two working Intel and PPC binaries is to enable two checkboxes, never
> mentioning the subtle endianness issues. The audience applauded...
>
> -Vesko

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntel applications
  2005-10-25 15:00       ` André Braga
@ 2005-10-25 16:36         ` Djame Seddah
  2005-10-25 17:14           ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntelapplications Vesselin Peev
  2005-10-25 17:07         ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OSXIntel applications Vesselin Peev
  1 sibling, 1 reply; 12+ messages in thread
From: Djame Seddah @ 2005-10-25 16:36 UTC (permalink / raw)
  To: qemu-devel

by the way all ppc are neutral, you only have to set one bit in order to 
change the endianness


André Braga a écrit :

>That actually IS true if you only use the Cocoa framework abstractions
>to manipulate all data structures. They are endian-agnostic (i.e.,
>they perform implicit conversions).
>
>
>
>On 10/25/05, Vesselin Peev <vesselinpeev@hotmail.com> wrote:
>  
>
>>Steve Jobs and his marketing machine is the culprit for the disinformation.
>>On stage during the Apple WWDC, he demonstrated that all it takes to produce
>>two working Intel and PPC binaries is to enable two checkboxes, never
>>mentioning the subtle endianness issues. The audience applauded...
>>
>>-Vesko
>>    
>>
>
>
>_______________________________________________
>Qemu-devel mailing list
>Qemu-devel@nongnu.org
>http://lists.nongnu.org/mailman/listinfo/qemu-devel
>  
>

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OSXIntel applications
  2005-10-25 15:00       ` André Braga
  2005-10-25 16:36         ` Djame Seddah
@ 2005-10-25 17:07         ` Vesselin Peev
  1 sibling, 0 replies; 12+ messages in thread
From: Vesselin Peev @ 2005-10-25 17:07 UTC (permalink / raw)
  To: qemu-devel

Hello, André,

On 10/25/05, André Braga <meianoite@gmail.com> wrote:

>That actually IS true if you only use the Cocoa framework abstractions
>to manipulate all data structures. They are endian-agnostic (i.e.,
>they perform implicit conversions).


Uh-oh, I shouldn't have opened my mouth not having touched Cocoa for now, 
since I work on extremely cross-platform code (and also mea culpa not 
noticing this important feature of Cocoa from some articles).

That said, there are many Carbon (non-endian agnostic) apps today, but the 
counter-argument is that all new apps are going to be written in Cocoa.

Ok, I'm shutting up.

Best regards,
Vesko

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntelapplications
  2005-10-25 16:36         ` Djame Seddah
@ 2005-10-25 17:14           ` Vesselin Peev
  2005-10-25 17:32             ` Djame Seddah
  0 siblings, 1 reply; 12+ messages in thread
From: Vesselin Peev @ 2005-10-25 17:14 UTC (permalink / raw)
  To: qemu-devel

On 10/25/05 "Djame Seddah" <djame.seddah@free.fr> wrote:


>by the way all ppc are neutral, you only have to set one bit in order to 
>change the endianness

My understanding is that existing Mac OSX for PPC does not support the the 
execution of little-endian PPC programs without jumping through hoops, which 
is infeasible for normal PPC programs. So infeasible, that there is (only?) 
one such program, Virtual PC, the version that works on CPUs prior to and 
including G4, but not G5. VirtualPC is probably using assembly instructions 
and/or installs a driver to execute little-endian program code under OSX in 
order to emulate a Pentium x86.

One cannot even use the "-mlittle" GCC option to produce a PPC binary to run 
under Mac OSX, "-mlittle" is only for embedded PPC CPUs.

The G5 processors do not support little-endian mode -- that's the reason 
Microsoft took so long to port Virtual PC to that processor.

-Vesko 

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

* Re: [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntelapplications
  2005-10-25 17:14           ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntelapplications Vesselin Peev
@ 2005-10-25 17:32             ` Djame Seddah
  0 siblings, 0 replies; 12+ messages in thread
From: Djame Seddah @ 2005-10-25 17:32 UTC (permalink / raw)
  To: qemu-devel

Vesselin Peev a écrit :

> On 10/25/05 "Djame Seddah" <djame.seddah@free.fr> wrote:
>
>
>> by the way all ppc are neutral, you only have to set one bit in order 
>> to change the endianness
>
>
> My understanding is that existing Mac OSX for PPC does not support the 
> the execution of little-endian PPC programs without jumping through 
> hoops, which is infeasible for normal PPC programs. So infeasible, 
> that there is (only?) one such program, Virtual PC, the version that 
> works on CPUs prior to and including G4, but not G5. VirtualPC is 
> probably using assembly instructions and/or installs a driver to 
> execute little-endian program code under OSX in order to emulate a 
> Pentium x86.
>
> One cannot even use the "-mlittle" GCC option to produce a PPC binary 
> to run under Mac OSX, "-mlittle" is only for embedded PPC CPUs.
>
> The G5 processors do not support little-endian mode -- that's the 
> reason Microsoft took so long to port Virtual PC to that processor.
>
> -Vesko



Ok, I had the ppc 603e book and a [long] tutorial on ppc embedded and I 
really thought all the ppc was endian neutral.
Thanks for the anwser.

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

end of thread, other threads:[~2005-10-25 17:33 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-21 20:16 [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications Steven
2005-10-21 21:19 ` Jim C. Brown
2005-10-21 21:52   ` Paul Brook
2005-10-21 21:31 ` René Korthaus
2005-10-22  8:06   ` Steven
2005-10-25 11:37     ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntel applications Vesselin Peev
2005-10-25 15:00       ` André Braga
2005-10-25 16:36         ` Djame Seddah
2005-10-25 17:14           ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS XIntelapplications Vesselin Peev
2005-10-25 17:32             ` Djame Seddah
2005-10-25 17:07         ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OSXIntel applications Vesselin Peev
2005-10-23  7:32 ` [Qemu-devel] User-space emulation on Mac OS X to run Mac OS X Intel applications Pierre d'Herbemont

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).