Subject: Re: Porting to IBM Risc 6000
To: David Edelsohn <dje@watson.ibm.com>
From: Matt Thomas <matt@3am-software.com>
List: port-powerpc
Date: 08/13/2002 11:11:07
At 07:52 AM 8/13/2002, David Edelsohn wrote:
> >>>>> Jochen Kunz writes:
>
>Jochen> This would require a 32 bit userland, as 64 bit applications can't
>Jochen> run on a 32 bit machine and 32 bit applications will run in some
>Jochen> kind of emulation when a 64 bit kernel is running?
>Jochen> (Sorry for this questions. I don't have The Clue (C) (R) (TM), but
>Jochen> I want to learn more about all this OS internas. This is the reason
>Jochen> for my interrest in getting the rs6k port going: Learning by doing.)
>
>         64-bit PowerPC *is* PowerPC.  32-bit PowerPC is a subset.  There
>is no emulation required.  No difference in performance.  Set the MSR to
>32-bit mode and 32-bit applications run just fine.
>
>         The only real effort for a 64-bit kernel is handling 32-bit system
>calls -- translating any 64-bit offset arguments and returning 32-bit
>memory addresses at the narrow system call boundary.

NetBSD already has generic support for this (so that sparc32 program
work on sparc64).

>         Running 32-bit userland is recommended.  All 64-bit PowerPC Linux
>distributions only use 32-bit userland.

One advantage of that is not having to do with ELF64 shared libraries
for PowerPC. :)  At least to start.

>         All 64-bit issues are hidden in the kernel.  Leave it that way.

Depends on if there is need for an app to have more than 4G of address
space.  Granted that will need to be a big machine but eventually that
will need to happen.


-- 
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Cupertino, CA             Disclaimer: I avow all knowledge of this message