diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-03-13 11:05:58 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-13 11:05:58 +0100 |
commit | cd80a8142efa3468c2cd9fb52845f334c3220d54 (patch) | |
tree | 919e88994bd3c09b34ce852d0a09bb0655d231d0 /arch/x86/mm/pgtable.c | |
parent | generic-ipi: eliminate WARN_ON()s during oops/panic (diff) | |
parent | Merge branches 'x86/asm', 'x86/debug', 'x86/mm', 'x86/setup', 'x86/urgent' an... (diff) | |
download | linux-cd80a8142efa3468c2cd9fb52845f334c3220d54.tar.xz linux-cd80a8142efa3468c2cd9fb52845f334c3220d54.zip |
Merge branch 'x86/core' into core/ipi
Diffstat (limited to 'arch/x86/mm/pgtable.c')
-rw-r--r-- | arch/x86/mm/pgtable.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index 86f2ffc43c3d..5b7c7c8464fe 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -313,6 +313,24 @@ int ptep_clear_flush_young(struct vm_area_struct *vma, return young; } +/** + * reserve_top_address - reserves a hole in the top of kernel address space + * @reserve - size of hole to reserve + * + * Can be used to relocate the fixmap area and poke a hole in the top + * of kernel address space to make room for a hypervisor. + */ +void __init reserve_top_address(unsigned long reserve) +{ +#ifdef CONFIG_X86_32 + BUG_ON(fixmaps_set > 0); + printk(KERN_INFO "Reserving virtual address space above 0x%08x\n", + (int)-reserve); + __FIXADDR_TOP = -reserve - PAGE_SIZE; + __VMALLOC_RESERVE += reserve; +#endif +} + int fixmaps_set; void __native_set_fixmap(enum fixed_addresses idx, pte_t pte) |