1. 22 3月, 2006 1 次提交
  2. 16 3月, 2006 3 次提交
  3. 15 3月, 2006 1 次提交
  4. 13 3月, 2006 1 次提交
  5. 07 3月, 2006 1 次提交
    • T
      [PATCH] fix next_timer_interrupt() for hrtimer · 69239749
      Tony Lindgren 提交于
      Also from Thomas Gleixner <tglx@linutronix.de>
      
      Function next_timer_interrupt() got broken with a recent patch
      6ba1b912 as sys_nanosleep() was moved to
      hrtimer.  This broke things as next_timer_interrupt() did not check hrtimer
      tree for next event.
      
      Function next_timer_interrupt() is needed with dyntick (CONFIG_NO_IDLE_HZ,
      VST) implementations, as the system can be in idle when next hrtimer event
      was supposed to happen.  At least ARM and S390 currently use
      next_timer_interrupt().
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      69239749
  6. 23 2月, 2006 1 次提交
  7. 22 2月, 2006 1 次提交
  8. 17 2月, 2006 1 次提交
  9. 16 2月, 2006 1 次提交
    • R
      [ARM] Fix SMP initialisation oops · 7bbb7940
      Russell King 提交于
      A change to the SMP initialisation caused the following oops:
      
       CPU1: Booted secondary processor
       CPU1: D VIPT write-back cache
       CPU1: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
       CPU1: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
       <7>Calibrating delay loop... 83.14 BogoMIPS (lpj=415744)
       <1>Unable to handle kernel NULL pointer dereference at virtual address 0000001c
       ...
       PC is at enqueue_task+0x1c/0x64
       LR is at activate_task+0xcc/0xe4
      
      SMP initialisation now requires cpu_possible_map to be initialised in
      setup_arch().  Move this from smp_prepare_cpus() to smp_init_cpus()
      and call it from our setup_arch() if CONFIG_SMP is enabled.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7bbb7940
  10. 09 2月, 2006 3 次提交
  11. 19 1月, 2006 3 次提交
    • A
      [ARM] safer handling of syscall table padding · fa1b4f91
      Al Viro 提交于
      ARM entry-common.S needs to know syscall table size; in itself that would
      not be a problem, but there's an additional constraint - some of the
      instructions using it want a constant that would be a multiple of 4.
      So we have to pad syscall table with sys_ni_syscall and that's where
      the trouble begins.  .rept pseudo-op wants a constant expression for
      number of repetitions and subtraction of two labels (before and after
      syscall table) doesn't always get simplified to constant early enough
      for .rept.  If labels end up in different frags, we lose.  And while
      the frag size is large enough (slightly below 4Kb), the syscall table
      is about 1/3 of that.  We used to get away with that, but the recent
      changes had been enough to trigger the breakage.
      
      Proper fix is simple: have a macro (CALL(x)) to populate the table
      instead of using explicit .long x and the first time we include calls.S
      have it defined to .equ NR_syscalls,NR_syscalls+1.  Then we can find
      the proper amount of padding on the first inclusion simply by looking
      at NR_syscalls at that time.  And that will be constant, no matter what.
      
      Moreover, the same trick kills the need of having an estimate of padded
      NR_syscalls - it will be calculated for free at the same time.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fa1b4f91
    • N
      [ARM] 3271/1: ARM EABI: fix calling of cmpxchg syscall emulation · 5e097445
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      This is kernel provided user space code.
      
      Since a syscall is used, it has to be updated to work with EABI.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      5e097445
    • N
      [ARM] 3270/1: ARM EABI: fix sigreturn and rt_sigreturn · fcca538b
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      The signal return path consists of user code provided by the kernel.
      Since a syscall is used, it has to be updated to work with EABI.
      
      Noticed by Daniel Jacobowitz.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fcca538b
  12. 15 1月, 2006 8 次提交
  13. 14 1月, 2006 3 次提交
  14. 13 1月, 2006 7 次提交
  15. 12 1月, 2006 1 次提交
  16. 10 1月, 2006 1 次提交
  17. 09 1月, 2006 2 次提交
    • A
      [PATCH] remove gcc-2 checks · a1365647
      Andrew Morton 提交于
      Remove various things which were checking for gcc-1.x and gcc-2.x compilers.
      
      From: Adrian Bunk <bunk@stusta.de>
      
          Some documentation updates and removes some code paths for gcc < 3.2.
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a1365647
    • R
      [PATCH] IRQ type flags · 9ded96f2
      Russell King 提交于
      Some ARM platforms have the ability to program the interrupt controller to
      detect various interrupt edges and/or levels.  For some platforms, this is
      critical to setup correctly, particularly those which the setting is dependent
      on the device.
      
      Currently, ARM drivers do (eg) the following:
      
      	err = request_irq(irq, ...);
      
      	set_irq_type(irq, IRQT_RISING);
      
      However, if the interrupt has previously been programmed to be level sensitive
      (for whatever reason) then this will cause an interrupt storm.
      
      Hence, if we combine set_irq_type() with request_irq(), we can then safely set
      the type prior to unmasking the interrupt.  The unfortunate problem is that in
      order to support this, these flags need to be visible outside of the ARM
      architecture - drivers such as smc91x need these flags and they're
      cross-architecture.
      
      Finally, the SA_TRIGGER_* flag passed to request_irq() should reflect the
      property that the device would like.  The IRQ controller code should do its
      best to select the most appropriate supported mode.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9ded96f2
  18. 06 1月, 2006 1 次提交