public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 1/4] Introduce virt_to_phys()
@ 2008-12-13 23:20 Kumar Gala
  2008-12-13 23:20 ` [U-Boot] [PATCH v4 2/4] Introduce addr_map library Kumar Gala
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Kumar Gala @ 2008-12-13 23:20 UTC (permalink / raw)
  To: u-boot

virt_to_phys() returns the physical address given a virtual.  In most cases
this will just the input value as the vast majority of systems run in a 1:1
mode.

However in systems that are not running this way it should report the
physical address or ~0 if no mapping exists for the given virtual address.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---

* No change, just reposting as part of the sequence

- k

 include/asm-arm/io.h        |    5 +++++
 include/asm-avr32/io.h      |    5 +++++
 include/asm-blackfin/io.h   |    5 +++++
 include/asm-i386/io.h       |    5 +++++
 include/asm-m68k/io.h       |    5 +++++
 include/asm-microblaze/io.h |    5 +++++
 include/asm-mips/io.h       |    2 +-
 include/asm-nios/io.h       |    5 +++++
 include/asm-nios2/io.h      |    5 +++++
 include/asm-ppc/io.h        |    5 +++++
 include/asm-sh/io.h         |    5 +++++
 include/asm-sparc/io.h      |    5 +++++
 12 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/include/asm-arm/io.h b/include/asm-arm/io.h
index f4ae307..fec3a7e 100644
--- a/include/asm-arm/io.h
+++ b/include/asm-arm/io.h
@@ -57,6 +57,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 /*
  * Generic virtual read/write.  Note that we don't support half-word
  * read/writes.  We define __arch_*[bl] here, and leave __arch_*w
diff --git a/include/asm-avr32/io.h b/include/asm-avr32/io.h
index 06e52b1..d22cd35 100644
--- a/include/asm-avr32/io.h
+++ b/include/asm-avr32/io.h
@@ -125,4 +125,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long len)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif /* __ASM_AVR32_IO_H */
diff --git a/include/asm-blackfin/io.h b/include/asm-blackfin/io.h
index da58914..6806494 100644
--- a/include/asm-blackfin/io.h
+++ b/include/asm-blackfin/io.h
@@ -64,6 +64,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 /*
  * These are for ISA/PCI shared memory _only_ and should never be used
  * on any other type of memory, including Zorro memory. They are meant to
diff --git a/include/asm-i386/io.h b/include/asm-i386/io.h
index 2c57140..9b757d4 100644
--- a/include/asm-i386/io.h
+++ b/include/asm-i386/io.h
@@ -229,4 +229,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif
diff --git a/include/asm-m68k/io.h b/include/asm-m68k/io.h
index 1fccc12..50ea087 100644
--- a/include/asm-m68k/io.h
+++ b/include/asm-m68k/io.h
@@ -251,4 +251,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif				/* __ASM_M68K_IO_H__ */
diff --git a/include/asm-microblaze/io.h b/include/asm-microblaze/io.h
index 8804724..7e190d1 100644
--- a/include/asm-microblaze/io.h
+++ b/include/asm-microblaze/io.h
@@ -155,4 +155,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif /* __MICROBLAZE_IO_H__ */
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h
index 3a0f33f..031186d 100644
--- a/include/asm-mips/io.h
+++ b/include/asm-mips/io.h
@@ -118,7 +118,7 @@ static inline void set_io_port_base(unsigned long base)
  * Change virtual addresses to physical addresses and vv.
  * These are trivial on the 1:1 Linux/MIPS mapping
  */
-extern inline unsigned long virt_to_phys(volatile void * address)
+extern inline phys_addr_t virt_to_phys(void * address)
 {
 	return CPHYSADDR(address);
 }
diff --git a/include/asm-nios/io.h b/include/asm-nios/io.h
index 8b78806..899682c 100644
--- a/include/asm-nios/io.h
+++ b/include/asm-nios/io.h
@@ -133,4 +133,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif /* __ASM_NIOS_IO_H_ */
diff --git a/include/asm-nios2/io.h b/include/asm-nios2/io.h
index 2f1ec26..01d11ef 100644
--- a/include/asm-nios2/io.h
+++ b/include/asm-nios2/io.h
@@ -53,6 +53,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 extern unsigned char inb (unsigned char *port);
 extern unsigned short inw (unsigned short *port);
 extern unsigned inl (unsigned port);
diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h
index c349681..c00de45 100644
--- a/include/asm-ppc/io.h
+++ b/include/asm-ppc/io.h
@@ -298,4 +298,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif
diff --git a/include/asm-sh/io.h b/include/asm-sh/io.h
index adc3f81..ca598a6 100644
--- a/include/asm-sh/io.h
+++ b/include/asm-sh/io.h
@@ -261,5 +261,10 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif	/* __KERNEL__ */
 #endif	/* __ASM_SH_IO_H */
diff --git a/include/asm-sparc/io.h b/include/asm-sparc/io.h
index 5f8d05c..0c5d86c 100644
--- a/include/asm-sparc/io.h
+++ b/include/asm-sparc/io.h
@@ -90,4 +90,9 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 }
 
+static inline phys_addr_t virt_to_phys(void * vaddr)
+{
+	return (phys_addr_t)(vaddr);
+}
+
 #endif
-- 
1.5.6.5

^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2008-12-17 16:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-13 23:20 [U-Boot] [PATCH v4 1/4] Introduce virt_to_phys() Kumar Gala
2008-12-13 23:20 ` [U-Boot] [PATCH v4 2/4] Introduce addr_map library Kumar Gala
2008-12-13 23:20   ` [U-Boot] [PATCH v4 3/4] 85xx: Add support to populate addr map based on TLB settings Kumar Gala
2008-12-13 23:20     ` [U-Boot] [PATCH v4 4/4] ppc: Use addrmap in virt_to_phys and map_physmem Kumar Gala
2008-12-15 21:07   ` [U-Boot] [PATCH v4 2/4] Introduce addr_map library Wolfgang Denk
2008-12-15 21:12     ` Kumar Gala
2008-12-16  0:46       ` Wolfgang Denk
2008-12-16  3:33         ` Becky Bruce
2008-12-16 15:55           ` Wolfgang Denk
2008-12-15 21:04 ` [U-Boot] [PATCH v4 1/4] Introduce virt_to_phys() Wolfgang Denk
2008-12-17 15:47 ` Haavard Skinnemoen
2008-12-17 15:55   ` Kumar Gala
2008-12-17 16:00     ` Haavard Skinnemoen
2008-12-17 16:04       ` Kumar Gala
2008-12-17 16:22         ` Haavard Skinnemoen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox