1. 29 11月, 2010 4 次提交
  2. 18 11月, 2010 9 次提交
    • A
      powerpc: Update a BKL related comment · 0f6b77ca
      Alessio Igor Bogani 提交于
      The commit 5e3d20a6 remove bkl from startup code so setup_arch() it isn't called
      with bkl held anymore. Update the comment on top of that function.
      Fix also a typo.
      
      This work was supported by a hardware donation from the CE Linux Forum.
      Signed-off-by: NAlessio Igor Bogani <abogani@texware.it>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0f6b77ca
    • K
      powerpc/mm: Fix module instruction tlb fault handling on Book-E 64 · 82ae5eaf
      Kumar Gala 提交于
      We were seeing oops like the following when we did an rmmod on a module:
      
      Unable to handle kernel paging request for instruction fetch
      Faulting instruction address: 0x8000000000008010
      Oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=2 P5020 DS
      last sysfs file: /sys/devices/qman-portals.2/qman-pool.9/uevent
      Modules linked in: qman_tester(-)
      NIP: 8000000000008010 LR: c000000000074858 CTR: 8000000000008010
      REGS: c00000002e29bab0 TRAP: 0400   Not tainted
      (2.6.34.6-00744-g2d21f14)
      MSR: 0000000080029000 <EE,ME,CE>  CR: 24000448  XER: 00000000
      TASK = c00000007a8be600[4987] 'rmmod' THREAD: c00000002e298000 CPU: 1
      GPR00: 8000000000008010 c00000002e29bd30 8000000000012798 c00000000035fb28
      GPR04: 0000000000000002 0000000000000002 0000000024022428 c000000000009108
      GPR08: fffffffffffffffe 800000000000a618 c0000000003c13c8 0000000000000000
      GPR12: 0000000022000444 c00000000fffed00 0000000000000000 0000000000000000
      GPR16: 00000000100c0000 0000000000000000 00000000100dabc8 0000000010099688
      GPR20: 0000000000000000 00000000100cfc28 0000000000000000 0000000010011a44
      GPR24: 00000000100017b2 0000000000000000 0000000000000000 0000000000000880
      GPR28: c00000000035fb28 800000000000a7b8 c000000000376d80 c0000000003cce50
      NIP [8000000000008010] .test_exit+0x0/0x10 [qman_tester]
      LR [c000000000074858] .SyS_delete_module+0x1f8/0x2f0
      Call Trace:
      [c00000002e29bd30] [c0000000000748b4] .SyS_delete_module+0x254/0x2f0 (unreliable)
      [c00000002e29be30] [c000000000000580] syscall_exit+0x0/0x2c
      Instruction dump:
      XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
      38600000 4e800020 60000000 60000000 <4e800020> 60000000 60000000 60000000
      ---[ end trace 4f57124939a84dc8 ]---
      
      This appears to be due to checking the wrong permission bits in the
      instruction_tlb_miss handling if the address that faulted was in vmalloc
      space.  We need to look at the supervisor execute (_PAGE_BAP_SX) bit and
      not the user bit (_PAGE_BAP_UX/_PAGE_EXEC).
      
      Also removed a branch level since it did not appear to be used.
      Reported-by: NJeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      82ae5eaf
    • M
      powerpc: Fix call to subpage_protection() · 1c2c25c7
      Michael Neuling 提交于
      In:
        powerpc/mm: Fix pgtable cache cleanup with CONFIG_PPC_SUBPAGE_PROT
        commit d28513bc
        Author: David Gibson <david@gibson.dropbear.id.au>
      
      subpage_protection() was changed to to take an mm rather a pgdir but it
      didn't change calling site in hashpage_preload().  The change wasn't
      noticed at compile time since hashpage_preload() used a void* as the
      parameter to subpage_protection().
      
      This is obviously wrong and can trigger the following crash when
      CONFIG_SLAB, CONFIG_DEBUG_SLAB, CONFIG_PPC_64K_PAGES
      CONFIG_PPC_SUBPAGE_PROT are enabled.
      
      Freeing unused kernel memory: 704k freed
      Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6c49b7
      Faulting instruction address: 0xc0000000000410f4
      cpu 0x2: Vector: 300 (Data Access) at [c00000004233f590]
          pc: c0000000000410f4: .hash_preload+0x258/0x338
          lr: c000000000041054: .hash_preload+0x1b8/0x338
          sp: c00000004233f810
         msr: 8000000000009032
         dar: 6b6b6b6b6b6c49b7
       dsisr: 40000000
        current = 0xc00000007e2c0070
        paca    = 0xc000000007fe0500
          pid   = 1, comm = init
      enter ? for help
      [c00000004233f810] c000000000041020 .hash_preload+0x184/0x338 (unreliable)
      [c00000004233f8f0] c00000000003ed98 .update_mmu_cache+0xb0/0xd0
      [c00000004233f990] c000000000157754 .__do_fault+0x48c/0x5dc
      [c00000004233faa0] c000000000158fd0 .handle_mm_fault+0x508/0xa8c
      [c00000004233fb90] c0000000006acdd4 .do_page_fault+0x428/0x6ac
      [c00000004233fe30] c000000000005260 handle_page_fault+0x20/0x74
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      1c2c25c7
    • K
      powerpc: Set CONFIG_32BIT on ppc32 · 234a71a7
      kerstin jonsson 提交于
      commit ffe8018c of the -mm tree
      fixes the initramfs size calculation for e.g. s390 but breaks it
      for 32bit architectures which do not define CONFIG_32BIT.
      
      This patch fix the problem for PPC32 which will elsewise end up
      with a __initramfs_size of 0.
      Signed-off-by: NKerstin Jonsson <kerstin.jonsson@ericsson.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      234a71a7
    • K
      powerpc/mm: Fix build error in setup_initial_memory_limit · 4a89261b
      Kumar Gala 提交于
      arch/powerpc/mm/tlb_nohash.c: In function 'setup_initial_memory_limit':
      arch/powerpc/mm/tlb_nohash.c:588:29: error: 'ppc64_memblock_base' undeclared (first use in this function)
      arch/powerpc/mm/tlb_nohash.c:588:29: note: each undeclared identifier is reported only once for each function it appears in
      
      Due to a copy/paste typo with the following commit:
      
      	commit cd3db0c4
      	Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      	Date:   Tue Jul 6 15:39:02 2010 -0700
      
      	    memblock: Remove rmo_size, burry it in arch/powerpc where it belongs
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      4a89261b
    • N
      powerpc/pseries: Don't override CONFIG_PPC_PSERIES_DEBUG · 01cf6fe8
      Nishanth Aravamudan 提交于
      EEH and pci_dlpar #undef DEBUG, but I think they were added before the
      ability to control this from Kconfig. It's really annoying to only get
      some of the debug messages from these files. Leave the lpar.c #undef
      alone as it produces so much output as to make the kernel unusable.
      Update the Kconfig text to indicate this particular quirk :)
      Signed-off-by: NNishanth Aravamudan <nacc@us.ibm.com>
      Acked-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      01cf6fe8
    • B
      powerpc: Fix div64 in bootloader · acbfd58e
      Benjamin Herrenschmidt 提交于
      The code is missing a fix that went into the main kernel variant
      (we should try to share that code again at some stage)
      Reported-by: NAlbert Cahalan <acahalan@gmail.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      acbfd58e
    • D
      kgdb,ppc: Fix regression in evr register handling · e3839ed8
      Dongdong Deng 提交于
      Commit ff10b88b (kgdb,ppc: Individual
      register get/set for ppc) introduced a problem where memcpy was used
      incorrectly to read and write the evr registers with a kernel that
      has:
      
      CONFIG_FSL_BOOKE=y
      CONFIG_SPE=y
      CONFIG_KGDB=y
      
      This patch also fixes the following compilation problems:
      
      arch/powerpc/kernel/kgdb.c: In function 'dbg_get_reg':
      arch/powerpc/kernel/kgdb.c:341: error: passing argument 2 of 'memcpy' makes pointer from integer without a cast
      arch/powerpc/kernel/kgdb.c: In function 'dbg_set_reg':
      arch/powerpc/kernel/kgdb.c:366: error: passing argument 1 of 'memcpy' makes pointer from integer without a cast
      
      [jason.wessel@windriver.com: Remove void * casts and fix patch header]
      Reported-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NDongdong Deng <dongdong.deng@windriver.com>
      Acked-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      CC: linuxppc-dev@lists.ozlabs.org
      e3839ed8
    • A
      BKL: remove extraneous #include <smp_lock.h> · 451a3c24
      Arnd Bergmann 提交于
      The big kernel lock has been removed from all these files at some point,
      leaving only the #include.
      
      Remove this too as a cleanup.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      451a3c24
  3. 06 11月, 2010 5 次提交
  4. 30 10月, 2010 1 次提交
  5. 29 10月, 2010 1 次提交
  6. 28 10月, 2010 6 次提交
  7. 27 10月, 2010 3 次提交
    • H
      replace nested max/min macros with {max,min}3 macro · 732eacc0
      Hagen Paul Pfeifer 提交于
      Use the new {max,min}3 macros to save some cycles and bytes on the stack.
      This patch substitutes trivial nested macros with their counterpart.
      Signed-off-by: NHagen Paul Pfeifer <hagen@jauu.net>
      Cc: Joe Perches <joe@perches.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Hartley Sweeten <hsweeten@visionengravers.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      732eacc0
    • P
      mm: remove pte_*map_nested() · ece0e2b6
      Peter Zijlstra 提交于
      Since we no longer need to provide KM_type, the whole pte_*map_nested()
      API is now redundant, remove it.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NChris Metcalf <cmetcalf@tilera.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ece0e2b6
    • P
      mm: stack based kmap_atomic() · 3e4d3af5
      Peter Zijlstra 提交于
      Keep the current interface but ignore the KM_type and use a stack based
      approach.
      
      The advantage is that we get rid of crappy code like:
      
      	#define __KM_PTE			\
      		(in_nmi() ? KM_NMI_PTE : 	\
      		 in_irq() ? KM_IRQ_PTE :	\
      		 KM_PTE0)
      
      and in general can stop worrying about what context we're in and what kmap
      slots might be appropriate for that.
      
      The downside is that FRV kmap_atomic() gets more expensive.
      
      For now we use a CPP trick suggested by Andrew:
      
        #define kmap_atomic(page, args...) __kmap_atomic(page)
      
      to avoid having to touch all kmap_atomic() users in a single patch.
      
      [ not compiled on:
        - mn10300: the arch doesn't actually build with highmem to begin with ]
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: fix up drivers/gpu/drm/i915/intel_overlay.c]
      Acked-by: NRik van Riel <riel@redhat.com>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NChris Metcalf <cmetcalf@tilera.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Dave Airlie <airlied@linux.ie>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3e4d3af5
  8. 25 10月, 2010 2 次提交
  9. 24 10月, 2010 9 次提交