direct-io.hg

changeset 15170:ca62b4b4f762

LINUX/x86_64: Cleanup 15129:a40967e39652 by using __pgd rather than
abusing mk_kernel_pgd.

Also set the user bit on the vsyscall entry in the user pgd.

Both changes suggested by Jan Beulich.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
author Ian Campbell <ian.campbell@xensource.com>
date Fri May 25 11:24:02 2007 +0100 (2007-05-25)
parents 3fcd0b9fd083
children cf3cf0d1b175
files linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c	Fri May 25 11:03:40 2007 +0100
     1.2 +++ b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c	Fri May 25 11:24:02 2007 +0100
     1.3 @@ -577,7 +577,7 @@ void __init xen_init_pt(void)
     1.4  
     1.5  	/* Construct mapping of initial pte page in our own directories. */
     1.6  	init_level4_pgt[pgd_index(__START_KERNEL_map)] = 
     1.7 -		mk_kernel_pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_USER);
     1.8 +		__pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_TABLE);
     1.9  	level3_kernel_pgt[pud_index(__START_KERNEL_map)] = 
    1.10  		__pud(__pa_symbol(level2_kernel_pgt) |
    1.11  		      _KERNPG_TABLE);
     2.1 --- a/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h	Fri May 25 11:03:40 2007 +0100
     2.2 +++ b/linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h	Fri May 25 11:24:02 2007 +0100
     2.3 @@ -146,8 +146,8 @@ static inline pgd_t *pgd_alloc(struct mm
     2.4  	/*
     2.5  	 * Set level3_user_pgt for vsyscall area
     2.6  	 */
     2.7 -	set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START), 
     2.8 -		mk_kernel_pgd(__pa_symbol(level3_user_pgt)));
     2.9 +	set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START),
    2.10 +		__pgd(__pa_symbol(level3_user_pgt) | _PAGE_TABLE));
    2.11  	return pgd;
    2.12  }
    2.13