diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-08-18 04:15:12 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-10-22 22:55:21 -0700 |
commit | fe1cd9876fa6250a8eb3ae138917a2040eca2c47 (patch) | |
tree | b5265c1959ceecc7e3dbf62c305bf069236ef1f7 | |
parent | ff64b4c18624ca545dd360c4fa65334d19ee7b6f (diff) | |
download | linux-fe1cd9876fa6250a8eb3ae138917a2040eca2c47.tar.gz linux-fe1cd9876fa6250a8eb3ae138917a2040eca2c47.tar.bz2 linux-fe1cd9876fa6250a8eb3ae138917a2040eca2c47.zip |
x86, um: get rid of uml highmem.h
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r-- | arch/um/include/asm/archparam-i386.h | 10 | ||||
-rw-r--r-- | arch/um/include/asm/fixmap.h | 1 | ||||
-rw-r--r-- | arch/um/include/asm/highmem.h | 12 | ||||
-rw-r--r-- | arch/um/include/asm/pgtable.h | 8 |
4 files changed, 14 insertions, 17 deletions
diff --git a/arch/um/include/asm/archparam-i386.h b/arch/um/include/asm/archparam-i386.h index 49e89b8d7e58..93fd723344e5 100644 --- a/arch/um/include/asm/archparam-i386.h +++ b/arch/um/include/asm/archparam-i386.h @@ -6,11 +6,11 @@ #ifndef __UM_ARCHPARAM_I386_H #define __UM_ARCHPARAM_I386_H -/********* Nothing for asm-um/hardirq.h **********/ - -/********* Nothing for asm-um/hw_irq.h **********/ - -/********* Nothing for asm-um/string.h **********/ +#ifdef CONFIG_X86_PAE +#define LAST_PKMAP 512 +#else +#define LAST_PKMAP 1024 +#endif #endif diff --git a/arch/um/include/asm/fixmap.h b/arch/um/include/asm/fixmap.h index 9d2be52b8655..69c0252345f1 100644 --- a/arch/um/include/asm/fixmap.h +++ b/arch/um/include/asm/fixmap.h @@ -6,6 +6,7 @@ #include <asm/kmap_types.h> #include <asm/archparam.h> #include <asm/page.h> +#include <linux/threads.h> /* * Here we define all the compile-time 'special' virtual diff --git a/arch/um/include/asm/highmem.h b/arch/um/include/asm/highmem.h deleted file mode 100644 index 36974cb8abc7..000000000000 --- a/arch/um/include/asm/highmem.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef __UM_HIGHMEM_H -#define __UM_HIGHMEM_H - -#include "asm/page.h" -#include "asm/fixmap.h" -#include "asm/arch/highmem.h" - -#undef PKMAP_BASE - -#define PKMAP_BASE ((FIXADDR_START - LAST_PKMAP * PAGE_SIZE) & PMD_MASK) - -#endif diff --git a/arch/um/include/asm/pgtable.h b/arch/um/include/asm/pgtable.h index 02db81b7b86e..58da2480a7f4 100644 --- a/arch/um/include/asm/pgtable.h +++ b/arch/um/include/asm/pgtable.h @@ -47,6 +47,7 @@ extern unsigned long end_iomem; #define VMALLOC_OFFSET (__va_space) #define VMALLOC_START ((end_iomem + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1)) +#define PKMAP_BASE ((FIXADDR_START - LAST_PKMAP * PAGE_SIZE) & PMD_MASK) #ifdef CONFIG_HIGHMEM # define VMALLOC_END (PKMAP_BASE-2*PAGE_SIZE) #else @@ -355,4 +356,11 @@ extern pte_t *virt_to_pte(struct mm_struct *mm, unsigned long addr); #include <asm-generic/pgtable.h> +/* Clear a kernel PTE and flush it from the TLB */ +#define kpte_clear_flush(ptep, vaddr) \ +do { \ + pte_clear(&init_mm, (vaddr), (ptep)); \ + __flush_tlb_one((vaddr)); \ +} while (0) + #endif |