lkml.org 
[lkml]   [2008]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 04 of 11] x86: fix early_ioremap pagetable ops
    Date
    From
    Put appropriate pagetable update hooks in so that paravirt knows
    what's going on in there.

    Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
    ---
    arch/x86/mm/ioremap.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
    --- a/arch/x86/mm/ioremap.c
    +++ b/arch/x86/mm/ioremap.c
    @@ -18,6 +18,7 @@
    #include <asm/fixmap.h>
    #include <asm/pgtable.h>
    #include <asm/tlbflush.h>
    +#include <asm/pgalloc.h>

    #ifdef CONFIG_X86_64

    @@ -265,7 +266,7 @@ void __init early_ioremap_init(void)

    pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN));
    memset(bm_pte, 0, sizeof(bm_pte));
    - set_pmd(pmd, __pmd(__pa(bm_pte) | _PAGE_TABLE));
    + pmd_populate_kernel(&init_mm, pmd, bm_pte);

    /*
    * The boot-ioremap range spans multiple pmds, for which
    @@ -295,6 +296,7 @@ void __init early_ioremap_clear(void)

    pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN));
    pmd_clear(pmd);
    + paravirt_release_pt(__pa(bm_pte) >> PAGE_SHIFT);
    __flush_tlb_all();
    }




    \
     
     \ /
      Last update: 2008-01-25 22:49    [W:4.855 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site