[linux] Fix set_fixmap for vdso mapping on i386 and make x86_64 version correcter.
authorChristian Limpach <Christian.Limpach@xensource.com>
Thu, 18 Jan 2007 09:54:33 +0000 (09:54 +0000)
committerChristian Limpach <Christian.Limpach@xensource.com>
Thu, 18 Jan 2007 09:54:33 +0000 (09:54 +0000)
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
linux-2.6-xen-sparse/arch/i386/mm/pgtable-xen.c
linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c

index 8750f4dd20267e81b2a89f1cd56dac5fc4534b31..e073fb621d06a81d957a0f606188d9e663ffc62f 100644 (file)
@@ -215,6 +215,7 @@ void __set_fixmap (enum fixed_addresses idx, maddr_t phys, pgprot_t flags)
 #ifdef CONFIG_X86_F00F_BUG
        case FIX_F00F_IDT:
 #endif
+       case FIX_VDSO:
                set_pte_pfn(address, phys >> PAGE_SHIFT, flags);
                break;
        default:
index 874cd904eabb5647883a26fd035019a8fa8342f3..fb20d9a33a4f1ad81ea438c04fa55edda2ac6a27 100644 (file)
@@ -351,7 +351,7 @@ __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t prot)
                return;
        }
        switch (idx) {
-       case VSYSCALL_FIRST_PAGE:
+       case VSYSCALL_LAST_PAGE ... VSYSCALL_FIRST_PAGE:
                set_pte_phys(address, phys, prot, SET_FIXMAP_KERNEL);
                break;
        default: