* [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 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 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: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 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 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
* 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 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
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).