[OpenBIOS] [PATCH 4/4] ppc: avoid runtime relocations

Andreas Färber andreas.faerber at web.de
Sat Jan 29 14:26:14 CET 2011


Am 26.01.2011 um 15:14 schrieb Mark Cave-Ayland:

> On 23/01/11 17:42, Segher Boessenkool wrote:
>>> Because the sizes of cells and pointers do not match on PPC64,
>> So fix that.  Most OF implementations on 64-bit PowerPC use 64-bit
>> cells; you pretty much need it for things like device access, esp.
>> if running in real mode.
>> The Forth standard does not define pointers that do not fit in a
>> cell; OF-specific words like rl@ take a cell-sized "address" as
>> well.
> I'm fairly sure that Andreas is aware of this (for example, one of  
> the patches I posted earlier for SPARC32 fixes the generation of  
> memory properties but will truncate the maximum address to 32-bits  
> on PPC64 since the code assumes that a single cell can hold a  
> virtual address).
> Andreas - are you happy for these two patchsets to be applied? We'd  
> like to hope they won't break PPC64 too badly until you can find  
> some time to continue work on it.

My (our) requirement is that the guest-visible parts remain compatible  
with Apple OpenFirmware (the hardware we emulate today), and I'd  
prefer to share a common code base for ppc and ppc64.

My understanding is that if we enlarge the internal cell size as  
suggested by Segher, encode-int and other Forth words will start  
widening their output, too, so that property values will start to  
differ, no? Currently, everything except for the MMU is designed to be  
32-bit compatible.

Mark/Blue, if you've tested your patches with ppc64 and it still  
boots, feel free to commit.


More information about the OpenBIOS mailing list