lkml.org 
[lkml]   [2010]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Dynamic nop selection breaks boot on Geode LX
    From: Daniel Drake <dsd@laptop.org>
    Date: Sat, Oct 02, 2010 at 08:16:19PM +0100

    > Hi,
    >
    > linux-next fails to boot on OLPC's XO-1 laptop based on Geode LX
    > processor.
    >
    > This is because of
    >
    > commit f49aa448561fe9215f43405cac6f31eb86317792 Author: Jason Baron
    > <jbaron@redhat.com> Date: Fri Sep 17 11:08:51 2010 -0400
    >
    > jump label: Make dynamic no-op selection available outside of
    > ftrace
    >
    > http://git.kernel.org/?p=linux/kernel/git/mingo/linux-2.6-x86.git;a=co
    > mmitdiff;h=f49aa44
    >
    > The Geode hangs inside the asm() statement inside
    > arch_init_ideal_nop5.
    >
    > Any thoughts?

    maybe because the Geode doesn't have both the
    P6_NOP5 and the NOP with 4 0x66 prefixes:
    http://kerneltrap.org/mailarchive/linux-kernel/2010/8/27/4612336

    and for some reason the trap can't find the fixup address. You say
    "hangs" so you don't even get an "invalid opcode" OOPS?

    Maybe on a Geode jmp label should use the 2-byte jmp + 3 1-byte nops
    unconditionally after adding a synthetic CPUID flag in init_amd_k6(), in
    the Geode part.

    --
    Regards/Gruss,
    Boris.


    \
     
     \ /
      Last update: 2010-10-03 22:25    [W:0.030 / U:90.036 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site