Update of /cvsroot/linux-mips/linux/include/asm-mips
In directory usw-pr-cvs1:/tmp/cvs-serv1790/include/asm-mips
Modified Files:
au1000.h
Log Message:
Pb1500 PCI support now uses new 36 bit code.
Index: au1000.h
===================================================================
RCS file: /cvsroot/linux-mips/linux/include/asm-mips/au1000.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- au1000.h 15 Feb 2002 19:47:28 -0000 1.13
+++ au1000.h 9 Mar 2002 01:40:52 -0000 1.14
@@ -768,11 +768,18 @@
#define Au1500_PCI_HDR 0xB4005100 // virtual, kseg0 addr
- /* these are all pseudo physical addresses */
-#define Au1500_EXT_CFG 0x20000000
-#define Au1500_PCI_IO_START 0x70000000
-#define Au1500_PCI_IO_END 0x700FFFFF
-#define Au1500_PCI_MEM_START 0x80000000
-#define Au1500_PCI_MEM_END 0x83FFFFFF
+/* All of our structures, like pci resource, have 32 bit members.
+ * Drivers are expected to do an ioremap on the PCI MEM resource, but it's
+ * hard to store 0x4 0000 0000 in a 32 bit type. We require a small patch
+ * to __ioremap to check for addresses between (u32)Au1500_PCI_MEM_START and
+ * (u32)Au1500_PCI_MEM_END and change those to the full 36 bit PCI MEM
+ * addresses. For PCI IO, it's simpler because we get to do the ioremap
+ * ourselves and then adjust the device's resources.
+ */
+#define Au1500_EXT_CFG 0x600000000
+#define Au1500_PCI_IO_START 0x550000000
+#define Au1500_PCI_IO_END 0x5500FFFFF
+#define Au1500_PCI_MEM_START 0x440000000
+#define Au1500_PCI_MEM_END 0x443FFFFFF
#endif
|