Igor Kovalenko wrote:
[...] We also need to find out how memory mappings are laid out preparing to run client code. It is not clear from of1275 docs.
Generally, OF is placed in high memory, and memory allocations are from low memory.
But there are several address spaces, which it sounds like are being overlapped here:
1) Actual memory 2) PCI memory space 3) PCI IO space
They are each independent address spaces. Zero in any one of them is independent from zero in all the others.
Note that PCI memory space is further subdivided into DMA address space and BAR memory space. In general on SPARC (with Openboot, at least), we use low addresses in PCI memory space for BARs and high addresses for DMA (backwards from x86 behaviour). We've found a number of devices which refuse to allow us to assign PCI memory space 0 to a BAR - so we've had to reserve the low order page of PCI memory and not assign it to BARs.