Re: mapping 36 bit physical addresses into 32 bit virtual

From: Maciej W. Rozycki (macro@ds2.pg.gda.pl)
Date: Tue Oct 15 2002 - 15:51:00 EST


On Tue, 15 Oct 2002, Padraig O Mathuna wrote:

> I'm developing some drivers for the AU1000 under
> Mountain Vista's 2.4.17 sherman release. The AU1000 is
> a MIPS based SOC with a 36 bit internal address bus
> and a 32 bit MIPS cpu. According to the documentation
> the MIPS' TLB is able to map 32 bit virtual addresses
> to 36 bit physical addresses, however I cannot figure
> out how to get Linux to set this up. I've looked at
> ioremap which only takes unsigned long (32bits) as an
> argument to assign a virtual address. Is there
> another way?

 You should probably look at how CONFIG_HIGHMEM and CONFIG_64BIT_PHYS_ADDR
support is implemented and add an option like CONFIG_36BIT_PHYS_ADDR (or
just use CONFIG_HIGHMEM for that) plus a few necessary bits to the mm code
so that ioremap() can make use of the additional bits. It doesn't seem
too difficult to develop, but you may want to work on a current snapshot
from the CVS.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:57 EST