Hi,
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.
Andreas