summaryrefslogtreecommitdiffstats
path: root/include/asm-ppc/page.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-05-07 02:55:41 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-05-07 02:55:41 +0000
commitdcec8a13bf565e47942a1751a9cec21bec5648fe (patch)
tree548b69625b18cc2e88c3e68d0923be546c9ebb03 /include/asm-ppc/page.h
parent2e0f55e79c49509b7ff70ff1a10e1e9e90a3dfd4 (diff)
o Merge with Linux 2.1.99.
o Fix ancient bug in the ELF loader making ldd crash. o Fix ancient bug in the keyboard code for SGI, SNI and Jazz.
Diffstat (limited to 'include/asm-ppc/page.h')
-rw-r--r--include/asm-ppc/page.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/asm-ppc/page.h b/include/asm-ppc/page.h
index 1b6e92393..0eaf390aa 100644
--- a/include/asm-ppc/page.h
+++ b/include/asm-ppc/page.h
@@ -1,3 +1,5 @@
+#include <linux/config.h>
+
#ifndef _PPC_PAGE_H
#define _PPC_PAGE_H
@@ -6,8 +8,7 @@
#define PAGE_SIZE (1UL << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
-/* KERNELBASE comes from arch/ppc/Makefile */
-#define PAGE_OFFSET KERNELBASE
+#define PAGE_OFFSET 0xc0000000
#ifndef __ASSEMBLY__
@@ -66,8 +67,15 @@ typedef unsigned long pgprot_t;
#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
#define copy_page(to,from) memcpy((void *)(to), (void *)(from), PAGE_SIZE)
/* map phys->virtual and virtual->phys for RAM pages */
+#ifdef CONFIG_APUS
+#include <asm/amigappc.h>
+/* Word at CYBERBASEp has the value (-KERNELBASE+CYBERBASE). */
+#define __pa(x) ((unsigned long)(x)+(*(unsigned long*)CYBERBASEp))
+#define __va(x) ((void *)((unsigned long)(x)-(*(unsigned long*)CYBERBASEp)))
+#else
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET)
#define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET))
+#endif
#define MAP_NR(addr) (((unsigned long)addr-PAGE_OFFSET) >> PAGE_SHIFT)
#define MAP_PAGE_RESERVED (1<<15)