1. 14 10月, 2008 1 次提交
  2. 10 10月, 2008 1 次提交
  3. 09 10月, 2008 2 次提交
  4. 02 10月, 2008 1 次提交
  5. 30 9月, 2008 2 次提交
    • J
      powerpc: Fix failure to shutdown with CPU hotplug · 61e9916e
      Johannes Berg 提交于
      I tracked down the shutdown regression to CPUs not dying
      when being shut down during power-off. This turns out to
      be due to the system_state being SYSTEM_POWER_OFF, which
      this code doesn't take as a valid state for shutting off
      CPUs in.
      
      This has never made sense to me, but when I added hotplug
      code to implement hibernate I only "made it work" and did
      not question the need to check the system_state. Thomas
      Gleixner helped me dig, but the only thing we found is
      that it was added with the original commit that added CPU
      hotplug support.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Acked-by: NJoel Schopp <jschopp@austin.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      61e9916e
    • D
      powerpc: Fix PCI in Holly device tree · ad611045
      David Gibson 提交于
      The PCI bridge on the Holly board is incorrectly represented in the
      device tree.  The current device tree node for the PCI bridge sits
      under the tsi-bridge node.  That's not obviously wrong, but the PCI
      bridge translates some PCI spaces into CPU address ranges which were
      not translated by the "ranges" property in tsi-bridge node.
      
      We used to get away with this problem because the PCI bridge discovery
      code was also buggy, assuming incorrectly that PCI host bridge nodes
      were always directly under the root bus and treating the translated
      addresses as raw CPU addresses, rather than parent bus addresses.
      This has since been fixed, thus breaking Holly.
      
      This could be fixed by adding extra translations to the tsi-bridge
      node, but this patch instead moves the Holly PCI bridge out of the
      tsi-bridge node to the root bus.  This makes the tsi-bridge node
      represent only the built-in IO devices in the bridge, with a
      more-or-less contiguous address range.  This is the same convention
      used on Freescale SoC chips, where the "soc" node represents only the
      IMMR region, and the PCI and other bus bridges are separate nodes
      under the root bus.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Acked-by: NJosh Boyer <jwboyer@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ad611045
  6. 26 9月, 2008 1 次提交
    • J
      kgdb, x86, arm, mips, powerpc: ignore user space single stepping · d7161a65
      Jason Wessel 提交于
      On the x86 arch, user space single step exceptions should be ignored
      if they occur in the kernel space, such as ptrace stepping through a
      system call.
      
      First check if it is kgdb that is executing a single step, then ensure
      it is not an accidental traversal into the user space, while in kgdb,
      any other time the TIF_SINGLESTEP is set, kgdb should ignore the
      exception.
      
      On x86, arm, mips and powerpc, the kgdb_contthread usage was
      inconsistent with the way single stepping is implemented in the kgdb
      core.  The arch specific stub should always set the
      kgdb_cpu_doing_single_step correctly if it is single stepping.  This
      allows kgdb to correctly process an instruction steps if ptrace
      happens to be requesting an instruction step over a system call.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      d7161a65
  7. 23 9月, 2008 1 次提交
    • S
      signals: demultiplexing SIGTRAP signal · da654b74
      Srinivasa Ds 提交于
      Currently a SIGTRAP can denote any one of below reasons.
      	- Breakpoint hit
      	- H/W debug register hit
      	- Single step
      	- Signal sent through kill() or rasie()
      
      Architectures like powerpc/parisc provides infrastructure to demultiplex
      SIGTRAP signal by passing down the information for receiving SIGTRAP through
      si_code of siginfot_t structure. Here is an attempt is generalise this
      infrastructure by extending it to x86 and x86_64 archs.
      Signed-off-by: NSrinivasa DS <srinivasa@in.ibm.com>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: akpm@linux-foundation.org
      Cc: paulus@samba.org
      Cc: linuxppc-dev@ozlabs.org
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      da654b74
  8. 18 9月, 2008 2 次提交
  9. 17 9月, 2008 1 次提交
  10. 10 9月, 2008 1 次提交
  11. 09 9月, 2008 1 次提交
    • M
      kernel/cpu.c: create a CPU_STARTING cpu_chain notifier · e545a614
      Manfred Spraul 提交于
      Right now, there is no notifier that is called on a new cpu, before the new
      cpu begins processing interrupts/softirqs.
      Various kernel function would need that notification, e.g. kvm works around
      by calling smp_call_function_single(), rcu polls cpu_online_map.
      
      The patch adds a CPU_STARTING notification. It also adds a helper function
      that sends the message to all cpu_chain handlers.
      
      Tested on x86-64.
      All other archs are untested. Especially on sparc, I'm not sure if I got
      it right.
      Signed-off-by: NManfred Spraul <manfred@colorfullife.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e545a614
  12. 08 9月, 2008 2 次提交
    • H
      powerpc: Fix rare boot build breakage · 4ff23fa9
      Hugh Dickins 提交于
      A make -j20 powerpc kernel build broke a couple of months ago saying:
      In file included from arch/powerpc/boot/gunzip_util.h:13,
                       from arch/powerpc/boot/prpmc2800.c:21:
      arch/powerpc/boot/zlib.h:85: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
      arch/powerpc/boot/zlib.h:630: warning: type defaults to ‘int’ in declaration of ‘Byte’
      arch/powerpc/boot/zlib.h:630: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
      
      It happened again yesterday: too rare for me to confirm the fix, but
      it looks like the list of dependants on gunzip_util.h was incomplete.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      4ff23fa9
    • A
      powerpc/spufs: Fix possible scheduling of a context to multiple SPEs · b2e601d1
      Andre Detsch 提交于
      We currently have a race when scheduling a context to a SPE -
      after we have found a runnable context in spusched_tick, the same
      context may have been scheduled by spu_activate().
      
      This may result in a panic if we try to unschedule a context that has
      been freed in the meantime.
      
      This change exits spu_schedule() if the context has already been
      scheduled, so we don't end up scheduling it twice.
      Signed-off-by: NAndre Detsch <adetsch@br.ibm.com>
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      b2e601d1
  13. 07 9月, 2008 2 次提交
  14. 05 9月, 2008 3 次提交
    • L
      mv643xx_eth: remove force_phy_addr field · ac840605
      Lennert Buytenhek 提交于
      Currently, there are two different fields in the
      mv643xx_eth_platform_data struct that together describe the PHY
      address -- one field (phy_addr) has the address of the PHY, but if
      that address is zero, a second field (force_phy_addr) needs to be
      set to distinguish the actual address zero from a zero due to not
      having filled in the PHY address explicitly (which should mean
      'use the default PHY address').
      
      If we are a bit smarter about the encoding of the phy_addr field,
      we can avoid the need for a second field -- this patch does that.
      Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
      ac840605
    • J
      powerpc/spufs: Fix race for a free SPU · b65fe035
      Jeremy Kerr 提交于
      We currently have a race for a free SPE. With one thread doing a
      spu_yield(), and another doing a spu_activate():
      
      thread 1				thread 2
      spu_yield(oldctx)			spu_activate(ctx)
        __spu_deactivate(oldctx)
        spu_unschedule(oldctx, spu)
        spu->alloc_state = SPU_FREE
      					spu = spu_get_idle(ctx)
      					    - searches for a SPE in
      					      state SPU_FREE, gets
      					      the context just
      					      freed by thread 1
      					spu_schedule(ctx, spu)
      					  spu->alloc_state = SPU_USED
      spu_schedule(newctx, spu)
        - assumes spu is still free
        - tries to schedule context on
          already-used spu
      
      This change introduces a 'free_spu' flag to spu_unschedule, to indicate
      whether or not the function should free the spu after descheduling the
      context. We only set this flag if we're not going to re-schedule
      another context on this SPU.
      
      Add a comment to document this behaviour.
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      b65fe035
    • J
      powerpc/spufs: Fix multiple get_spu_context() · 9f43e391
      Jeremy Kerr 提交于
      Commit 8d5636fb introduced a reference
      count on SPU contexts during find_victim, but this may cause a leak in
      the reference count if we later find a better contender for a context to
      unschedule.
      
      Change the reference to after we've found our victim context, so we
      don't do the extra get_spu_context().
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      9f43e391
  15. 03 9月, 2008 6 次提交
  16. 27 8月, 2008 1 次提交
  17. 26 8月, 2008 5 次提交
  18. 24 8月, 2008 1 次提交
  19. 21 8月, 2008 6 次提交