|
@@ -71,10 +71,14 @@ extern unsigned long memory_end;
|
|
#define PAGE_OFFSET (0)
|
|
#define PAGE_OFFSET (0)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#ifndef ARCH_PFN_OFFSET
|
|
|
|
+#define ARCH_PFN_OFFSET (PAGE_OFFSET >> PAGE_SHIFT)
|
|
|
|
+#endif
|
|
|
|
+
|
|
#ifndef __ASSEMBLY__
|
|
#ifndef __ASSEMBLY__
|
|
|
|
|
|
-#define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET))
|
|
|
|
-#define __pa(x) ((unsigned long) (x) - PAGE_OFFSET)
|
|
|
|
|
|
+#define __va(x) ((void *)((unsigned long) (x)))
|
|
|
|
+#define __pa(x) ((unsigned long) (x))
|
|
|
|
|
|
#define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)
|
|
#define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)
|
|
#define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT)
|
|
#define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT)
|
|
@@ -86,7 +90,7 @@ extern unsigned long memory_end;
|
|
#define page_to_phys(page) ((dma_addr_t)page_to_pfn(page) << PAGE_SHIFT)
|
|
#define page_to_phys(page) ((dma_addr_t)page_to_pfn(page) << PAGE_SHIFT)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#define pfn_valid(pfn) ((pfn) < max_mapnr)
|
|
|
|
|
|
+#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr)
|
|
|
|
|
|
#define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
|
|
#define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
|
|
((void *)(kaddr) < (void *)memory_end))
|
|
((void *)(kaddr) < (void *)memory_end))
|