1. 23 5月, 2011 1 次提交
  2. 11 5月, 2011 1 次提交
  3. 29 4月, 2011 1 次提交
  4. 17 4月, 2011 1 次提交
  5. 15 4月, 2011 1 次提交
  6. 11 4月, 2011 1 次提交
  7. 31 3月, 2011 1 次提交
  8. 29 3月, 2011 1 次提交
  9. 24 3月, 2011 4 次提交
  10. 23 3月, 2011 1 次提交
  11. 16 3月, 2011 1 次提交
  12. 15 3月, 2011 2 次提交
  13. 11 3月, 2011 3 次提交
    • M
      futex: Sanitize futex ops argument types · 8d7718aa
      Michel Lespinasse 提交于
      Change futex_atomic_op_inuser and futex_atomic_cmpxchg_inatomic
      prototypes to use u32 types for the futex as this is the data type the
      futex core code uses all over the place.
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Cc: Darren Hart <darren@dvhart.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20110311025058.GD26122@google.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      8d7718aa
    • M
      futex: Sanitize cmpxchg_futex_value_locked API · 37a9d912
      Michel Lespinasse 提交于
      The cmpxchg_futex_value_locked API was funny in that it returned either
      the original, user-exposed futex value OR an error code such as -EFAULT.
      This was confusing at best, and could be a source of livelocks in places
      that retry the cmpxchg_futex_value_locked after trying to fix the issue
      by running fault_in_user_writeable().
          
      This change makes the cmpxchg_futex_value_locked API more similar to the
      get_futex_value_locked one, returning an error code and updating the
      original value through a reference argument.
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Acked-by: Chris Metcalf <cmetcalf@tilera.com>  [tile]
      Acked-by: Tony Luck <tony.luck@intel.com>  [ia64]
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Tested-by: Michal Simek <monstr@monstr.eu>  [microblaze]
      Acked-by: David Howells <dhowells@redhat.com> [frv]
      Cc: Darren Hart <darren@dvhart.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20110311024851.GC26122@google.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      37a9d912
    • M
      futex: Remove redundant pagefault_disable in futex_atomic_cmpxchg_inatomic() · 522d7dec
      Michel Lespinasse 提交于
      kernel/futex.c disables page faults before calling
      futex_atomic_cmpxchg_inatomic(), so there is no need to do it again
      within that function.
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Cc: Darren Hart <darren@dvhart.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20110311024731.GB26122@google.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      522d7dec
  14. 10 3月, 2011 2 次提交
  15. 09 3月, 2011 2 次提交
    • S
      ARM: 6777/1: gic: Add hooks for architecture specific extensions · d7ed36a4
      Santosh Shilimkar 提交于
      Few architectures combine the GIC with an external interrupt
      controller. On such systems it may be necessary to update both
      the GIC registers and the external controller's registers to control
      IRQ behavior.
      
      This can be addressed in couple of possible methods.
       1. Export common GIC routines along with 'struct irq_chip gic_chip'
          and allow architectures to have custom function by override.
       2. Provide architecture specific function pointer hooks
          within GIC library and leave platforms to add the necessary
          code as part of these hooks.
      
      First one might be non-intrusive but have few shortcomings like arch
      needs to have there own custom gic library. Locks used should be
      common since it caters to same IRQs etc. Maintenance point of view
      also it leads to multiple file fixes.
      
      The second probably is cleaner and portable. It ensures that all the
      common GIC infrastructure is not touched and also provides archs to
      address their specific issue.
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NColin Cross <ccross@android.com>
      Tested-by: NColin Cross <ccross@android.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d7ed36a4
    • S
      ARM: 6795/1: l2x0: Errata fix for flush by Way operation can cause data corrupti · 2839e06c
      Santosh Shilimkar 提交于
      PL310 implements the Clean & Invalidate by Way L2 cache maintenance
      operation (offset 0x7FC). This operation runs in background so that
      PL310 can handle normal accesses while it is in progress. Under very
      rare circumstances, due to this erratum, write data can be lost when
      PL310 treats a cacheable write transaction during a Clean & Invalidate
      by Way operation.
      
      Workaround:
      Disable Write-Back and Cache Linefill (Debug Control Register)
      Clean & Invalidate by Way (0x7FC)
      Re-enable Write-Back and Cache Linefill (Debug Control Register)
      
      This patch also removes any OMAP dependency on PL310 Errata's
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2839e06c
  16. 04 3月, 2011 1 次提交
  17. 26 2月, 2011 2 次提交
  18. 24 2月, 2011 5 次提交
    • S
      ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime · af90f10d
      Santosh Shilimkar 提交于
      The current code support of dummy timers in absence of local
      timer is compile time. This is an attempt to convert it to runtime
      so that on few SOC version if the local timers aren't supported
      kernel can switch to dummy timers. OMAP4430 ES1.0 does suffer from
      this limitation.
      
      This patch should not have any functional impact on affected
      files.
      
      Cc: Daniel Walker <dwalker@codeaurora.org>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Cc: Colin Cross <ccross@android.com>
      Cc: Erik Gilling <konkers@android.com>
      Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NDavid Brown <davidb@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      af90f10d
    • W
      ARM: 6668/1: ptrace: remove single-step emulation code · 425fc47a
      Will Deacon 提交于
      PTRACE_SINGLESTEP is a ptrace request designed to offer single-stepping
      support to userspace when the underlying architecture has hardware
      support for this operation.
      
      On ARM, we set arch_has_single_step() to 1 and attempt to emulate hardware
      single-stepping by disassembling the current instruction to determine the
      next pc and placing a software breakpoint on that location.
      
      Unfortunately this has the following problems:
      
      1.) Only a subset of ARMv7 instructions are supported
      2.) Thumb-2 is unsupported
      3.) The code is not SMP safe
      
      We could try to fix this code, but it turns out that because of the above
      issues it is rarely used in practice.  GDB, for example, uses PTRACE_POKETEXT
      and PTRACE_PEEKTEXT to manage breakpoints itself and does not require any
      kernel assistance.
      
      This patch removes the single-step emulation code from ptrace meaning that
      the PTRACE_SINGLESTEP request will return -EIO on ARM. Portable code must
      check the return value from a ptrace call and handle the failure gracefully.
      Acked-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      425fc47a
    • N
      ARM: 6639/1: allow highmem on SMP platforms without h/w TLB ops broadcast · aaa50048
      Nicolas Pitre 提交于
      In commit e616c591, highmem support was
      deactivated for SMP platforms without hardware TLB ops broadcast because
      usage of kmap_high_get() requires that IRQs be disabled when kmap_lock
      is locked which is incompatible with the IPI mechanism used by the
      software TLB ops broadcast invoked through flush_all_zero_pkmaps().
      
      The reason for kmap_high_get() is to ensure that the currently kmap'd
      page usage count does not decrease to zero while we're using its
      existing virtual mapping in an atomic context.  With a VIVT cache this
      is essential to do due to cache coherency issues, but with a VIPT cache
      this is only an optimization so not to pay the price of establishing a
      second mapping if an existing one can be used.  However, on VIPT
      platforms without hardware TLB maintenance we can give up on that
      optimization in order to be able to use highmem.
      
      From ARMv7 onwards the TLB ops are broadcasted in hardware, so let's
      disable ARCH_NEEDS_KMAP_HIGH_GET only when CONFIG_SMP and
      CONFIG_CPU_TLB_V6 are defined.
      Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Tested-by: NSaeed Bishara <saeed.bishara@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      aaa50048
    • R
      ARM: fix some sparse errors in generic ARM code · 2bbd7e9b
      Russell King 提交于
      arch/arm/kernel/return_address.c:37:6: warning: symbol 'return_address' was not declared. Should it be static?
      arch/arm/kernel/setup.c:76:14: warning: symbol 'processor_id' was not declared. Should it be static?
      arch/arm/kernel/traps.c:259:1: warning: symbol 'die_lock' was not declared. Should it be static?
      arch/arm/vfp/vfpmodule.c:156:6: warning: symbol 'vfp_raise_sigfpe' was not declared. Should it be static?
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2bbd7e9b
    • U
      ARM: 6757/1: fix tlb.h induced linux/swap.h build failure · 97594b0f
      Uwe Kleine-König 提交于
      Commit
      
      	06824ba8 (ARM: tlb: delay page freeing for SMP and ARMv7 CPUs)
      
      introduced a build failure for builds with CONFIG_SWAP=n:
      
      	In file included from arch/arm/mm/init.c:27:
      	arch/arm/include/asm/tlb.h: In function 'tlb_flush_mmu':
      	arch/arm/include/asm/tlb.h:101: error: implicit declaration of function 'release_pages'
      	arch/arm/include/asm/tlb.h: In function 'tlb_remove_page':
      	arch/arm/include/asm/tlb.h:165: error: implicit declaration of function 'page_cache_release'
      
      as linux/swap.h doesn't include linux/pagemap.h but actually needs it
      (see comments in linux/swap.h as to why this is.)
      
      Fix that by #including <linux/pagemap.h> in <asm/pgalloc.h> as it's done
      by x86.
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      97594b0f
  19. 23 2月, 2011 1 次提交
  20. 22 2月, 2011 5 次提交
  21. 19 2月, 2011 1 次提交
  22. 18 2月, 2011 2 次提交