Messages in this thread | | | From | Kyle Moffett <> | Subject | Re: Pure 64 bootloaders | Date | Wed, 14 Sep 2005 13:26:54 -0400 |
| |
On Sep 14, 2005, at 09:20:45, Lennart Sorensen wrote: > On Tue, Sep 13, 2005 at 11:44:55PM -0400, Kyle Moffett wrote: > >> PowerPC was designed 64-bit from the start too! It's just that the >> architecture design group also realized that there would be a demand >> for 32-bit CPUs, and so from the _64-bit_ system, they designed a 32- >> bit system whose entire instruction set would be forward-compatible >> to 64-bit systems when they came out. That's why 32-bit PowerPC >> machine code and 64-bit PowerPC machine code are completely identical >> except that 64-bit CPUs also have a few opcodes to process 64-bit >> data and a few extra kernel-mode registers. > > Hmm, so how does that fit with needing both 32 and 64bit libraries > on a > ppc system? It seems apple forgot the 64bit part of a library > recently > in a security fix, or is that something more to do with their os than > the cpu?
Well, if you want to pass 64-bit pointer values to a library, the library needs to have functions that take 64-bit values and use 64- bit operations on them, just like all the other archs :-D. It also needs 32-bit compatibility functions for the old 32-bit-only programs. On the other hand, if you don't care about compatibility with 32-bit-pointer programs, you can omit functions that deal with 32-bit pointers and require everything to use 64-bit pointers. You still need stuff like atoi that uses 32-bit values, though, and 64-bit-only does have a performance penalty.
Cheers, Kyle Moffett
-- There is no way to make Linux robust with unreliable memory subsystems, sorry. It would be like trying to make a human more robust with an unreliable O2 supply. Memory just has to work. -- Andi Kleen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |