lkml.org 
[lkml]   [2009]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subjecti686 quirk for AMD Geode
    Hi,

    the AMD GEode LX has an x86 id of 5 (i586) tought it's technically an i686:

    root@alix:/usr/src# cat /proc/cpuinfo
    processor : 0
    vendor_id : AuthenticAMD
    cpu family : 5
    model : 10
    model name : Geode(TM) Integrated Processor by AMD PCS
    stepping : 2
    cpu MHz : 498.060
    cache size : 128 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 1
    wp : yes
    flags : fpu de pse tsc msr cx8 sep pge cmov clflush mmx
    mmxext 3dnowext 3dnow
    bogomips : 996.12
    clflush size : 32
    cache_alignment : 32
    address sizes : 32 bits physical, 32 bits virtual
    power management:

    indeed it has mmx, mmxext and cmov.
    So I added the quirk below and I can confirm that the system is running fine.
    I did an x264 encode to trigger any SIGILL due to missing opcodes, but
    it worked.

    I also did this simple test which gives a ~2.5x speed boost:
    http://pastebin.ca/1590089

    I wish some feedback from someone, I really dunno why AMD set the
    cpuid value to 5

    --- a/arch/x86/kernel/cpu/bugs.c 2009-10-03 03:43:02.399323313 +0200
    +++ b/arch/x86/kernel/cpu/bugs.c 2009-10-03 03:54:22.582205090 +0200
    @@ -151,6 +151,12 @@
    #endif
    }

    +static void __init check_geode_i586(void)
    +{
    + if(boot_cpu_data.x86_vendor == X86_VENDOR_AMD &&
    + boot_cpu_data.x86_model == 10 && boot_cpu_data.x86 == 5)
    + boot_cpu_data.x86 = 6;
    +}

    void __init check_bugs(void)
    {
    @@ -163,6 +169,7 @@
    check_fpu();
    check_hlt();
    check_popad();
    + check_geode_i586();
    init_utsname()->machine[1] =
    '0' + (boot_cpu_data.x86 > 6 ? 6 : boot_cpu_data.x86);
    alternative_instructions();

    \
     
     \ /
      Last update: 2009-10-03 04:15    [W:0.031 / U:60.040 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site