patch-2.3.99-pre6 linux/include/asm-ia64/pgtable.h
Next file: linux/include/asm-ia64/processor.h
Previous file: linux/include/asm-ia64/pgalloc.h
Back to the patch index
Back to the overall index
- Lines: 40
- Date:
Fri Apr 21 16:38:55 2000
- Orig file:
v2.3.99-pre5/linux/include/asm-ia64/pgtable.h
- Orig date:
Fri Mar 10 16:40:49 2000
diff -u --recursive --new-file v2.3.99-pre5/linux/include/asm-ia64/pgtable.h linux/include/asm-ia64/pgtable.h
@@ -8,16 +8,24 @@
* This hopefully works with any (fixed) ia-64 page-size, as defined
* in <asm/page.h> (currently 8192).
*
- * Copyright (C) 1998, 1999 Hewlett-Packard Co
- * Copyright (C) 1998, 1999 David Mosberger-Tang <davidm@hpl.hp.com>
+ * Copyright (C) 1998-2000 Hewlett-Packard Co
+ * Copyright (C) 1998-2000 David Mosberger-Tang <davidm@hpl.hp.com>
*/
+#include <linux/config.h>
+
#include <asm/mman.h>
#include <asm/page.h>
#include <asm/types.h>
-/* Size of physical address space: */
-#define IA64_PHYS_BITS 50 /* EAS2.5 defines 50 bits of ppn */
+/* Size of virtuaql and physical address spaces: */
+#ifdef CONFIG_ITANIUM
+# define IA64_IMPL_VA_MSB 50
+# define IA64_PHYS_BITS 44 /* Itanium PRM defines 44 bits of ppn */
+#else
+# define IA64_IMPL_VA_MSB 60 /* maximum value (bits 61-63 are region bits) */
+# define IA64_PHYS_BITS 50 /* EAS2.6 allows up to 50 bits of ppn */
+#endif
#define IA64_PHYS_SIZE (__IA64_UL(1) << IA64_PHYS_BITS)
/* Is ADDR a valid kernel address? */
@@ -336,10 +344,6 @@
/* Find an entry in the third-level page table.. */
#define pte_offset(dir,addr) \
((pte_t *) pmd_page(*(dir)) + (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)))
-
-
-extern void __handle_bad_pgd (pgd_t *pgd);
-extern void __handle_bad_pmd (pmd_t *pmd);
extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)