lkml.org 
[lkml]   [2008]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 1 of 2] x86: fold _PAGE_GLOBAL into __PAGE_KERNEL
    Date
    From
    With the iounmap problem resolved, it should be OK to always set
    _PAGE_GLOBAL in __PAGE_KERNEL*.

    Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>

    ---
    arch/x86/mm/ioremap_64.c | 2 +-
    include/asm-x86/pgtable.h | 26 ++++++++++----------------
    2 files changed, 11 insertions(+), 17 deletions(-)

    diff --git a/arch/x86/mm/ioremap_64.c b/arch/x86/mm/ioremap_64.c
    --- a/arch/x86/mm/ioremap_64.c
    +++ b/arch/x86/mm/ioremap_64.c
    @@ -50,7 +50,7 @@ ioremap_change_attr(unsigned long phys_a
    * memmap entry:
    */
    err = change_page_attr_addr(vaddr, npages,
    - MAKE_GLOBAL(__PAGE_KERNEL|flags));
    + __pgprot(__PAGE_KERNEL|flags));
    if (!err)
    global_flush_tlb();
    }
    diff --git a/include/asm-x86/pgtable.h b/include/asm-x86/pgtable.h
    --- a/include/asm-x86/pgtable.h
    +++ b/include/asm-x86/pgtable.h
    @@ -68,7 +68,7 @@ extern unsigned long long __PAGE_KERNEL,
    #endif /* __ASSEMBLER__ */
    #else
    #define __PAGE_KERNEL_EXEC \
    - (_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED)
    + (_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_GLOBAL)
    #define __PAGE_KERNEL (__PAGE_KERNEL_EXEC | _PAGE_NX)
    #endif

    @@ -80,21 +80,15 @@ extern unsigned long long __PAGE_KERNEL,
    #define __PAGE_KERNEL_LARGE (__PAGE_KERNEL | _PAGE_PSE)
    #define __PAGE_KERNEL_LARGE_EXEC (__PAGE_KERNEL_EXEC | _PAGE_PSE)

    -#ifdef CONFIG_X86_32
    -# define MAKE_GLOBAL(x) __pgprot((x))
    -#else
    -# define MAKE_GLOBAL(x) __pgprot((x) | _PAGE_GLOBAL)
    -#endif
    -
    -#define PAGE_KERNEL MAKE_GLOBAL(__PAGE_KERNEL)
    -#define PAGE_KERNEL_RO MAKE_GLOBAL(__PAGE_KERNEL_RO)
    -#define PAGE_KERNEL_EXEC MAKE_GLOBAL(__PAGE_KERNEL_EXEC)
    -#define PAGE_KERNEL_RX MAKE_GLOBAL(__PAGE_KERNEL_RX)
    -#define PAGE_KERNEL_NOCACHE MAKE_GLOBAL(__PAGE_KERNEL_NOCACHE)
    -#define PAGE_KERNEL_LARGE MAKE_GLOBAL(__PAGE_KERNEL_LARGE)
    -#define PAGE_KERNEL_LARGE_EXEC MAKE_GLOBAL(__PAGE_KERNEL_LARGE_EXEC)
    -#define PAGE_KERNEL_VSYSCALL MAKE_GLOBAL(__PAGE_KERNEL_VSYSCALL)
    -#define PAGE_KERNEL_VSYSCALL_NOCACHE MAKE_GLOBAL(__PAGE_KERNEL_VSYSCALL_NOCACHE)
    +#define PAGE_KERNEL __pgprot(__PAGE_KERNEL)
    +#define PAGE_KERNEL_RO __pgprot(__PAGE_KERNEL_RO)
    +#define PAGE_KERNEL_EXEC __pgprot(__PAGE_KERNEL_EXEC)
    +#define PAGE_KERNEL_RX __pgprot(__PAGE_KERNEL_RX)
    +#define PAGE_KERNEL_NOCACHE __pgprot(__PAGE_KERNEL_NOCACHE)
    +#define PAGE_KERNEL_LARGE __pgprot(__PAGE_KERNEL_LARGE)
    +#define PAGE_KERNEL_LARGE_EXEC __pgprot(__PAGE_KERNEL_LARGE_EXEC)
    +#define PAGE_KERNEL_VSYSCALL __pgprot(__PAGE_KERNEL_VSYSCALL)
    +#define PAGE_KERNEL_VSYSCALL_NOCACHE __pgprot(__PAGE_KERNEL_VSYSCALL_NOCACHE)

    /* xwr */
    #define __P000 PAGE_NONE



    \
     
     \ /
      Last update: 2008-01-11 00:27    [W:0.055 / U:29.984 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site