23 Jul, 2011

1 commit


19 Jul, 2011

1 commit

  • Kernel space needs very little in the way of BTC maintanence as most
    mappings which are created and destroyed are non-executable, and so
    could never enter the instruction stream.

    The case which does warrant BTC maintanence is when a module is loaded.
    This creates a new executable mapping, but at that point the pages have
    not been initialized with code and data, so at that point they contain
    unpredictable information. Invalidating the BTC at this stage serves
    little useful purpose.

    Before we execute module code, we call flush_icache_range(), which deals
    with the BTC maintanence requirements. This ensures that we have a BTC
    maintanence operation before we execute code via the newly created
    mapping.

    Signed-off-by: Russell King

    Russell King
     

07 Jul, 2011

1 commit


05 Oct, 2010

1 commit

  • UP systems do not implement all the instructions that SMP systems have,
    so in order to boot a SMP kernel on a UP system, we need to rewrite
    parts of the kernel.

    Do this using an 'alternatives' scheme, where the kernel code and data
    is modified prior to initialization to replace the SMP instructions,
    thereby rendering the problematical code ineffectual. We use the linker
    to generate a list of 32-bit word locations and their replacement values,
    and run through these replacements when we detect a UP system.

    Signed-off-by: Russell King

    Russell King
     

08 May, 2010

1 commit


06 Jan, 2010

1 commit


30 May, 2009

1 commit


28 Apr, 2009

1 commit

  • arm is placing some code in the .text.init section, but it does not
    reference that section in its linker scripts.

    This change moves this code from the .text.init section to the
    .init.text section, which is presumably where it belongs.

    Signed-off-by: Tim Abbott
    Acked-by: Russell King
    Acked-by: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Tim Abbott
     

01 Sep, 2008

1 commit


30 May, 2007

1 commit