[U-Boot] [Patch 10/16] add supports to mips64 in io operation

Zhi-zhou Zhang etou.zh at gmail.com
Tue Aug 14 17:09:16 CEST 2012


diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index 025012a..80eab75 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -120,12 +120,20 @@ static inline void set_io_port_base(unsigned long
base)
  */
 extern inline phys_addr_t virt_to_phys(volatile void * address)
 {
+#ifndef CONFIG_64BIT
  return CPHYSADDR(address);
+#else
+ return XPHYSADDR(address);
+#endif
 }

 extern inline void * phys_to_virt(unsigned long address)
 {
+#ifndef CONFIG_64BIT
  return (void *)KSEG0ADDR(address);
+#else
+ return (void *)CKSEG0ADDR(address);
+#endif
 }

 /*
@@ -133,12 +141,20 @@ extern inline void * phys_to_virt(unsigned long
address)
  */
 extern inline unsigned long virt_to_bus(volatile void * address)
 {
+#ifndef CONFIG_64BIT
  return CPHYSADDR(address);
+#else
+ return XPHYSADDR(address);
+#endif
 }

 extern inline void * bus_to_virt(unsigned long address)
 {
+#ifndef CONFIG_64BIT
  return (void *)KSEG0ADDR(address);
+#else
+ return (void *)CKSEG0ADDR(address);
+#endif
 }

 /*

-- 
Regards,
Zhizhou Zhang


More information about the U-Boot mailing list