* that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __KERNEL__ */
 
 #endif
 
  * This implementation works for memory below 512MiB (flash, etc.) as
  * well as above 3.5GiB (internal peripherals.)
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (1 << 7)
 #define MAP_WRBACK     (MAP_WRCOMBINE | (1 << 9))
 
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #ifdef CONFIG_LBD
 typedef u64 sector_t;
 #define HAVE_SECTOR_T
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif
 
 #endif
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __KERNEL__ */
 
 #endif
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 /* DMA addresses are 32-bits wide */
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __KERNEL__ */
 #endif /* __ASSEMBLY__ */
 
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 /* Dma addresses are 32-bits wide.  */
 
 typedef u32 dma_addr_t;
+
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
 #endif /* __KERNEL__ */
 
 #endif /* _ASM_TYPES_H */
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \
     || defined(CONFIG_64BIT)
 typedef u64 dma_addr_t;
+
+typedef u64 phys_addr_t;
+typedef u64 phys_size_t;
+
 #else
 typedef u32 dma_addr_t;
+
+typedef u32 phys_addr_t;
+typedef u32 phys_size_t;
+
 #endif
 typedef u64 dma64_addr_t;
 
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 /* Dma addresses are 32-bits wide.  */
 
 typedef u32 dma_addr_t;
+
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
 #endif /* __KERNEL__ */
 
 #endif /* _NIOS_TYPES_H */
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE    (0)
 #define MAP_WRCOMBINE  (0)
 #define MAP_WRBACK     (0)
 
 /* DMA addresses are 32-bits wide */
 typedef u32 dma_addr_t;
 
+#ifdef CONFIG_PHYS_64BIT
+typedef unsigned long long phys_addr_t;
+typedef unsigned long long phys_size_t;
+#else
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+#endif
+
 #endif /* __KERNEL__ */
 #endif /* __ASSEMBLY__ */
 
 
  * that can be used to access the memory range with the caching
  * properties specified by "flags".
  */
-typedef unsigned long phys_addr_t;
-
 #define MAP_NOCACHE     (0)
 #define MAP_WRCOMBINE   (0)
 #define MAP_WRBACK      (0)
 
 
 typedef u32 dma_addr_t;
 
+typedef unsigned long phys_addr_t;
+typedef unsigned long phys_size_t;
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __KERNEL__ */