[git pull] Please pull powerpc.git merge branch

Paul Mackerras paulus at samba.org
Thu Sep 4 10:32:19 EST 2008


Linus,

Please pull from the 'merge' branch of

git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git merge

to get 6 commits that fix various regressions, build problems and
serious bugs on powerpc.  I have included the full commit messages
below.

Thanks,
Paul.

 arch/powerpc/Makefile                    |    5 +++++
 arch/powerpc/include/asm/pgtable-ppc64.h |    6 ++----
 arch/powerpc/kernel/Makefile             |    7 ++++---
 arch/powerpc/kernel/align.c              |    2 +-
 arch/powerpc/kernel/idle_6xx.S           |    2 +-
 arch/powerpc/kernel/idle_e500.S          |    3 ++-
 arch/powerpc/kernel/vmlinux.lds.S        |    7 ++++---
 arch/powerpc/mm/hash_utils_64.c          |   18 +++++++++++-------
 arch/powerpc/platforms/powermac/Makefile |    2 +-
 lib/Kconfig.debug                        |    6 +++---
 10 files changed, 34 insertions(+), 24 deletions(-)

commit 7888bc2b4778fda267a6e6422c4497dba865a47a
Author: Kumar Gala <galak at kernel.crashing.org>
Date:   Tue Aug 26 12:08:56 2008 +1000

    powerpc: Fix for getting CPU number in power_save_ppc32_restore()
    
    The calculation to get TI_CPU based off of SPRG3 was just plain wrong,
    meaning that we were getting garbage for the CPU number on 6xx/G3/G4
    based SMP boxes in this code.
    
    Just offset off the stack pointer (to get to thread_info) like all the
    other references to TI_CPU do.
    
    This was pointed out by Chen Gong <G.Chen at freescale.com>
    
    [paulus at samba.org - use rlwinm r12,r11,... instead of
     rlwinm r12,r1,...; tophys()]
    
    Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
    Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 94ee815c05c9387931e549d83312d30009ed86e9
Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Date:   Wed Sep 3 13:12:05 2008 +1000

    powerpc: Fix build error with 64K pages and !hugetlbfs
    
    HAVE_ARCH_UNMAPPED_AREA and HAVE_ARCH_UNMAPPED_AREA_TOPDOWN must
    be defined whenever CONFIG_PPC_MM_SLICES is enabled, not just when
    CONFIG_HUGETLB_PAGE is.  They used to be always defined together but
    this is no longer the case since 3a8247cc2c856930f34eafce33f6a039227ee175
    ("powerpc: Only demote individual slices rather than whole process").
    
    Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 7563dc64585324f443f5ac107eb6d89ee813a2d2
Author: Tony Breeds <tony at bakeyournoodle.com>
Date:   Tue Sep 2 16:50:38 2008 +1000

    powerpc: Work around gcc's -fno-omit-frame-pointer bug
    
    This bug is causing random crashes
    (http://bugzilla.kernel.org/show_bug.cgi?id=11414).
    
    -fno-omit-frame-pointer is only needed on powerpc when -pg is also
    supplied, and there is a gcc bug that causes incorrect code generation
    on 32-bit powerpc when -fno-omit-frame-pointer is used---it uses stack
    locations below the stack pointer, which is not allowed by the ABI
    because those locations can and sometimes do get corrupted by an
    interrupt.
    
    This ensures that CONFIG_FRAME_POINTER is only selected by ftrace.
    When CONFIG_FTRACE is enabled we also pass -mno-sched-epilog to work
    around the gcc codegen bug.
    
    Patch based on work by:
    	Andreas Schwab <schwab at suse.de>
    	Segher Boessenkool <segher at kernel.crashing.org>
    
    Signed-off-by: Tony Breeds <tony at bakeyournoodle.com>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 303996dace16894710a5291327eeb79afdb8ed12
Author: Stephen Rothwell <sfr at canb.auug.org.au>
Date:   Tue Sep 2 15:04:09 2008 +1000

    powerpc: Make sure _etext is after all kernel text
    
    This makes core_kernel_text() (and therefore kernel_text_address())
    return the correct result.  Currently all the __devinit routines (at
    least) will not be considered to be kernel text.
    
    This is just a quick fix for 2.6.27 - hopefully we will be able to fix
    this better in 2.6.28.
    
    Signed-off-by: Stephen Rothwell <sfr at canb.auug.org.au>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 9e88ba4e45ecad2425c4cc4e0861a26f4e36c6da
Author: Paul Mackerras <paulus at samba.org>
Date:   Sat Aug 30 11:26:27 2008 +1000

    powerpc: Only make kernel text pages of linear mapping executable
    
    Commit bc033b63bbfeb6c4b4eb0a1d083c650e4a0d2af8 ("powerpc/mm: Fix
    attribute confusion with htab_bolt_mapping()") moved the check for
    whether we should make pages of the linear mapping executable from
    htab_bolt_mapping into its callers, including htab_initialize.
    A side-effect of this is that the decision is now made once for
    each contiguous section in the LMB array rather than for each page
    individually.  This can often mean that the whole of the linear
    mapping ends up being executable.
    
    This reverts to the previous behaviour, where individual pages are
    checked for being part of the kernel text or not, by moving the check
    back down into htab_bolt_mapping.
    
    Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 78fbc824ed8225edd80cdc57771d5ca4f7aae95e
Author: Michael Neuling <mikey at neuling.org>
Date:   Thu Aug 28 14:57:39 2008 +1000

    powerpc: Fix uninitialised variable in VSX alignment code
    
    This fixes an uninitialised variable in the VSX alignment code.  It can
    cause warnings from GCC (noticed with gcc-4.1.1).  Gcc is actually
    correct in this instance, and this bug could cause the alignment
    interrupt handler to send a SIGSEGV to the process on a legitimate
    access.
    
    Signed-off-by: Michael Neuling <mikey at neuling.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>



More information about the Linuxppc-dev mailing list