]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sh/include/asm/page.h
sh: Support fixed 32-bit PMB mappings from bootloader.
[linux-2.6-omap-h63xx.git] / arch / sh / include / asm / page.h
index 5871d78e47e529208e28a523abb30fd2e075f429..9c6d21ec0240981f3bc4da574162caebad1feac6 100644 (file)
@@ -129,7 +129,12 @@ typedef struct page *pgtable_t;
  * is not visible (it is part of the PMB mapping) and so needs to be
  * added or subtracted as required.
  */
-#ifdef CONFIG_32BIT
+#if defined(CONFIG_PMB_FIXED)
+/* phys = virt - PAGE_OFFSET - (__MEMORY_START & 0xe0000000) */
+#define PMB_OFFSET     (PAGE_OFFSET - PXSEG(__MEMORY_START))
+#define __pa(x)        ((unsigned long)(x) - PMB_OFFSET)
+#define __va(x)        ((void *)((unsigned long)(x) + PMB_OFFSET))
+#elif defined(CONFIG_32BIT)
 #define __pa(x)        ((unsigned long)(x)-PAGE_OFFSET+__MEMORY_START)
 #define __va(x)        ((void *)((unsigned long)(x)+PAGE_OFFSET-__MEMORY_START))
 #else