I thought ppc64 OpenFirmware uses 32bit cells?
That's what I thought, too... but Segher said otherwise in January, and Tarl said the internal cell size (that I'm trying to change here) were different from the guest-visible 32-bit cell size. Through the use of prog_arg_t the CIF is supposed to remain 32-bit.
There are (at least) three different things here:
1) The Forth cell size. Since a normal pointer fits a cell, it is very inconvenient and restrictive to use 32-bit cells; most obvious is that you have to have everything you address in the low 4GB of address space (which is doable in virtual mode, however many workarounds you need; but totally forget about it in real mode);
2) The device tree 32-bit integer size. Those are 32-bit integers, not cells, although they are often called cells. They are big-endian always. They are not aligned at all, you should not assume you can access them with a single load/store, always go through some load/store-unaligned wrapper;
3) The client interface item size. You can have a 32-bit client interface, or a 64-bit client interface, or both. Linux uses the 32-bit client interface always.
Segher