04 Mar, 2011

1 commit


04 Dec, 2010

2 commits

  • * Fix kexec build failure with CONFIG_THUMB2_KERNEL.

    * Avoids deprecated/forbidden sp and pc usage in for ARMv7
    onwards, retaining compatibility with older architecture
    versions.

    * The pc value saved to newregs is now aligned on a predictable
    instruction boundary.

    (stmia { ... pc } or str pc has implementation-defined results
    in most versions of the ARM architecutre, and is prohibited
    (unpredictable) in Thumb-2.)

    * Switch to named inline asm arguments (else I get readily
    confused ...)

    The resulting code should be compatible with all architecture
    versions >= v3, with or without CONFIG_THUMB2_KERNEL.

    Reviewed-by: Will Deacon
    Tested-by: Mika Westerberg
    Signed-off-by: Dave Martin
    Acked-by: Catalin Marinas
    Signed-off-by: Russell King

    Dave Martin
     
  • Currently, the inline asm is passed &newregs->ARM_r0 as in input,
    when modifying multiple fields of newregs.

    It's plausible to assume that GCC will assume newregs->ARM_r0 is
    modified when passed the address, but unfortunately this assumption
    is incorrect.

    Also, GCC has no way to guess that the other ARM_r* fields are
    modified without the addition of a "memory" clobber.

    Signed-off-by: Dave Martin
    Acked-by: Catalin Marinas
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Dave Martin
     

09 Jul, 2010

1 commit


15 Aug, 2008

1 commit

  • Rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE, because control
    page is used for not only code on some platform. For example in kexec
    jump, it is used for data and stack too.

    [akpm@linux-foundation.org: unbreak powerpc and arm, finish conversion]
    Signed-off-by: Huang Ying
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: "Eric W. Biederman"
    Cc: Vivek Goyal
    Cc: Ingo Molnar
    Cc: Russell King
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Huang Ying
     

03 Aug, 2008

1 commit