Subject: Re: [PATCH 2.6.15-rc4] ppc32: Fixes for non-zero PPC_MEMSTART on PPC440

From: Jason Gunthorpe <[email-masked]>
Date: Sun, 4 Dec 2005 21:08:55 -0700

On Mon, Dec 05, 2005 at 11:22:37AM +1100, Benjamin Herrenschmidt wrote:

> Just out of curiosity: why did you do such a bogus setup in the first
> place ?

Historical.. This a FPGA design (Xilinx, embedded 405's) and the first
time we deployed it was in conjunction with a 2nd MIPS processor that
had system memory mapped 0 -> 0x200000. To keep the world sane and
simple the 405's memory was desired to be non-overlapping with the
MIPS world. The MIPS did care about the memory layout so it got to
have RAM at address 0. This put the PPC ram at 0xC00000. The same
basic components (mini embedded OS, internal FPGA cores, etc, etc)
kept getting reused from project to project.

Nowadays, the 405 part of the original design has been retasked for
something totally different and the MIPS is gone, taking along with it
the reason for the odd memory map. But we built a stack of software
which all assumes the classic memory map so the hardware just kept
repeating it.

Fortunately for us Linux was pretty close to supporting the odd memory
map, so we got to retain compatability with the old software, keep the
hardware the same, and just patch the kernel a little bit.

Jason