[lkml]   [2010]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] x86: ioremap: fix wrong physical address handling in PAT code
    From: Yasuaki Ishimatsu <>

    The following two commits fixed a problem that x86 ioremap() doesn't handle
    physical address higher than 32-bit properly in X86_32 PAE mode.

    ffa71f33a820d1ab3f2fc5723819ac60fb76080b (x86, ioremap: Fix incorrect physical address handling in
    PAE mode)
    35be1b716a475717611b2dc04185e9d80b9cb693 (x86, ioremap: Fix normal ram range check)

    But these fixes are not enough, since pat_pagerange_is_ram() in PAT code
    also has a same problem. This patch fixes it.

    Signed-off-by: Yasuaki Ishimatsu <>


    It is for -tip tree.

    Index: linux-2.6-x86/arch/x86/mm/pat.c
    --- linux-2.6-x86.orig/arch/x86/mm/pat.c 2010-07-22 03:04:38.000000000 +0900
    +++ linux-2.6-x86/arch/x86/mm/pat.c 2010-07-22 03:47:36.000000000 +0900
    @@ -158,7 +158,7 @@ static unsigned long pat_x_mtrr_type(u64
    return req_type;

    -static int pat_pagerange_is_ram(unsigned long start, unsigned long end)
    +static int pat_pagerange_is_ram(resource_size_t start, resource_size_t end)
    int ram_page = 0, not_rampage = 0;
    unsigned long page_nr;

     \ /
      Last update: 2010-07-22 08:01    [W:0.020 / U:31.500 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site