• Rosetta & endianness

    From per@per@RQNNE.invalid (=?ISO-8859-1?Q?Per_R=F8nne?=) to comp.sys.mac.system on Sunday, April 09, 2006 08:21:21
    From Newsgroup: comp.sys.mac.system

    Does anybody know how Apple has solved the endianness problem in
    Rosetta?

    <http://en.wikipedia.org/wiki/Endianness>

    Because the G4 processor can be used as both a big-endian and a
    little-endian processor, and the G5 only as a big-endian, VirtualPC
    emulating the little-ending Intel-processor runs slower on the G5 than
    on the G4.

    But this should mean that Rosetta running non-Universal MacOS X programs
    would have to emulate big-endianness on a little-endian processor -
    giving the same problems as known from VirtualPC 7 on G5.

    When I google on it I see that some people think that the MacOS X API
    calls are done natively, and that this should make the differenc. But
    does anybody know how Rosetta works?

    --
    Per Erik Rønne
    http://www.RQNNE.dk
    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From haberg@haberg@math.su.se (Hans Aberg) to comp.sys.mac.system on Sunday, April 09, 2006 11:39:48
    From Newsgroup: comp.sys.mac.system

    In article <1hdipfk.lpvmn81aj5ncbN%per@RQNNE.invalid>, spam@RQNNE.dk (=?ISO-8859-1?Q?Per_R=F8nne?=) wrote:

    Does anybody know how Apple has solved the endianness problem in
    Rosetta?

    <http://en.wikipedia.org/wiki/Endianness>

    Apparently, it reverses the PPC big endian into the Intel little endian.

    --
    Hans Aberg
    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From per@per@RQNNE.invalid (=?ISO-8859-1?Q?Per_R=F8nne?=) to comp.sys.mac.system on Sunday, April 09, 2006 15:50:14
    From Newsgroup: comp.sys.mac.system

    Hans Aberg <haberg@math.su.se> wrote:

    In article <1hdipfk.lpvmn81aj5ncbN%per@RQNNE.invalid>, spam@RQNNE.dk (=?ISO-8859-1?Q?Per_R=F8nne?=) wrote:

    Does anybody know how Apple has solved the endianness problem in
    Rosetta?

    <http://en.wikipedia.org/wiki/Endianness>

    Apparently, it reverses the PPC big endian into the Intel little endian.

    Does that mean that it changes the stored code, or that it interpretes
    it just like VirtualPC for Mac?
    --
    Per Erik Rønne
    http://www.RQNNE.dk
    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From haberg@haberg@math.su.se (Hans Aberg) to comp.sys.mac.system on Sunday, April 09, 2006 16:55:29
    From Newsgroup: comp.sys.mac.system

    In article <1hdjaka.anql1110wz5mzN%per@RQNNE.invalid>, spam@RQNNE.dk (=?ISO-8859-1?Q?Per_R=F8nne?=) wrote:

    Does anybody know how Apple has solved the endianness problem in
    Rosetta?

    <http://en.wikipedia.org/wiki/Endianness>

    Apparently, it reverses the PPC big endian into the Intel little endian.

    Does that mean that it changes the stored code, or that it interpretes
    it just like VirtualPC for Mac?

    I think Rosetta (though I do not know for sure) is an emulator that does
    it on the fly (i.e., it interprets). But an emulator can of course become
    more efficient by caching the converted stuff. So the original interpreted
    code should be unchanged on the disk. Anything else would be risky, asking
    for trouble.

    --
    Hans Aberg
    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From per@per@RQNNE.invalid (=?ISO-8859-1?Q?Per_R=F8nne?=) to comp.sys.mac.system on Sunday, April 09, 2006 19:33:27
    From Newsgroup: comp.sys.mac.system

    Hans Aberg <haberg@math.su.se> wrote:

    In article <1hdjaka.anql1110wz5mzN%per@RQNNE.invalid>, spam@RQNNE.dk (=?ISO-8859-1?Q?Per_R=F8nne?=) wrote:

    Does anybody know how Apple has solved the endianness problem in Rosetta?

    <http://en.wikipedia.org/wiki/Endianness>

    Apparently, it reverses the PPC big endian into the Intel little endian.

    Does that mean that it changes the stored code, or that it interpretes
    it just like VirtualPC for Mac?

    I think Rosetta (though I do not know for sure) is an emulator that does
    it on the fly (i.e., it interprets). But an emulator can of course become more efficient by caching the converted stuff. So the original interpreted code should be unchanged on the disk. Anything else would be risky, asking for trouble.

    Yes, though system calls might be run natively.
    --
    Per Erik Rønne
    http://www.RQNNE.dk
    --- Synchronet 3.18b-Win32 NewsLink 1.113