lkml.org 
[lkml]   [2010]   [Jun]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:x86/alternatives] x86, alternatives: correct obsolete use of "u8" in static_cpu_has()
    Commit-ID:  a3d2d12f275fcd33d7edc34e6b4112b5a3c9d35d
    Gitweb: http://git.kernel.org/tip/a3d2d12f275fcd33d7edc34e6b4112b5a3c9d35d
    Author: H. Peter Anvin <hpa@linux.intel.com>
    AuthorDate: Mon, 28 Jun 2010 12:00:18 -0700
    Committer: H. Peter Anvin <hpa@zytor.com>
    CommitDate: Mon, 28 Jun 2010 22:04:47 -0700

    x86, alternatives: correct obsolete use of "u8" in static_cpu_has()

    gcc seems to pass unsigned words on as signed to the assembler, at
    least with the %P format. As such, it is critical to get the correct
    type.

    Furthermore we are no longer limited to features < 256.

    Reported-and-tested-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    LKML-Reference: <4C2474EF.4050902@cn.fujitsu.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    ---
    arch/x86/include/asm/cpufeature.h | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
    index 66878c5..e8b8896 100644
    --- a/arch/x86/include/asm/cpufeature.h
    +++ b/arch/x86/include/asm/cpufeature.h
    @@ -291,7 +291,7 @@ extern const char * const x86_power_flags[32];
    * patch the target code for additional performance.
    *
    */
    -static __always_inline __pure bool __static_cpu_has(u8 bit)
    +static __always_inline __pure bool __static_cpu_has(u16 bit)
    {
    #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
    asm goto("1: jmp %l[t_no]\n"
    @@ -339,7 +339,7 @@ static __always_inline __pure bool __static_cpu_has(u8 bit)
    ( \
    __builtin_constant_p(boot_cpu_has(bit)) ? \
    boot_cpu_has(bit) : \
    - (__builtin_constant_p(bit) && !((bit) & ~0xff)) ? \
    + __builtin_constant_p(bit) ? \
    __static_cpu_has(bit) : \
    boot_cpu_has(bit) \
    )

    \
     
     \ /
      Last update: 2010-06-29 09:09    [W:3.632 / U:0.692 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site