No subject


Fri Nov 6 13:01:15 EST 2009


mode which doesn't work, and the MMU mode does.

> However, in the (MM)I/O address
> mapping for the 21285 driver, the footbridge code completely ignores
> CONFIG_MMU and has all the I/O addresses #defined as if they were all
> virtual. This is obviously not going to work if the MMU is disabled and
> all the addresses will be wrong.

That's the situation with most platform support.  NOMMU support hasn't
had very much attention since it was merged, and certainly there is very
little in the way of interest in running NOMMU on the existing platforms.
I think you're the first to publically amit to contemplating this.

> I've attached a patch (-p0) that adds an #ifdef to select between
> physical and virtual addresses for the 21285 chip, depending on
> CONFIG_MMU. I do not have a real EBSA285 to test this on, but this board
> does have a real 21285 and it is working for me.

Most 21285-based systems are the same, so provided it works for one, it
should work for all.  However, I don't particularly like needlessly
doubling up the _SIZE macros.  Can we get around this by having another
macro:

#ifdef CONFIG_MMU
#define MMU_IO(a,b)	(a)
#else
#define MMU_IO(a,b)	(b)
#endif

and then using this to define each _BASE macro?




More information about the linux-arm-kernel mailing list