1. 19 5月, 2011 1 次提交
  2. 20 4月, 2011 1 次提交
  3. 18 4月, 2011 1 次提交
  4. 01 4月, 2011 9 次提交
  5. 21 5月, 2010 1 次提交
  6. 06 5月, 2010 1 次提交
  7. 09 2月, 2010 1 次提交
  8. 24 9月, 2009 1 次提交
  9. 20 8月, 2009 1 次提交
  10. 26 6月, 2009 1 次提交
    • B
      powerpc/pmac: Fix issues with PowerMac "PowerSurge" SMP · 7ccbe504
      Benjamin Herrenschmidt 提交于
      The old PowerSurge SMP (ie, dual or quad 604 machines) code has
      numerous issues in modern world.
      
      One is cpu_possible_map is set too late (the device-tree is bogus)
      so we fail to allocate the interrupt stacks and crash. Another
      problem is the fact the timebase is frozen by the bringup of the
      second CPU so the delays in the generic code will hang, we need
      to move some of the calling procedure to inside the powermac code.
      
      This makes it boot again for me
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7ccbe504
  11. 30 3月, 2009 1 次提交
  12. 13 1月, 2009 1 次提交
    • B
      powerpc/powermac: Fix occasional SMP boot failure · c478b581
      Benjamin Herrenschmidt 提交于
      The PowerMac kernel occasionally fails to bring up the secondary CPUs on
      SMP, the trigger factor seem to be fairly random and related to location
      of code and data.
      
      This appears to be due to the initial loading of the TOC value by the
      secondary processor which now happens before we clear HID4:RM_CI (Real
      Mode Cache Invalidate). This bit should really be cleared before we do
      any load or store other than fetching code.
      
      This fix works based on the assumption that all SMP 64-bit PowerMacs use
      variants of the 970, which fortunately is true, by explicitely clearing
      that bit, adding an slbia for good measure as RM_CI mode is known to
      create bogus ERAT entries.
      
      I also removed some spurrious debug output that was left enabled by
      mistake while at it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c478b581
  13. 16 12月, 2008 1 次提交
  14. 16 9月, 2008 1 次提交
    • P
      powerpc: Make the 64-bit kernel as a position-independent executable · 549e8152
      Paul Mackerras 提交于
      This implements CONFIG_RELOCATABLE for 64-bit by making the kernel as
      a position-independent executable (PIE) when it is set.  This involves
      processing the dynamic relocations in the image in the early stages of
      booting, even if the kernel is being run at the address it is linked at,
      since the linker does not necessarily fill in words in the image for
      which there are dynamic relocations.  (In fact the linker does fill in
      such words for 64-bit executables, though not for 32-bit executables,
      so in principle we could avoid calling relocate() entirely when we're
      running a 64-bit kernel at the linked address.)
      
      The dynamic relocations are processed by a new function relocate(addr),
      where the addr parameter is the virtual address where the image will be
      run.  In fact we call it twice; once before calling prom_init, and again
      when starting the main kernel.  This means that reloc_offset() returns
      0 in prom_init (since it has been relocated to the address it is running
      at), which necessitated a few adjustments.
      
      This also changes __va and __pa to use an equivalent definition that is
      simpler.  With the relocatable kernel, PAGE_OFFSET and MEMORY_START are
      constants (for 64-bit) whereas PHYSICAL_START is a variable (and
      KERNELBASE ideally should be too, but isn't yet).
      
      With this, relocatable kernels still copy themselves down to physical
      address 0 and run there.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      549e8152
  15. 01 7月, 2008 2 次提交
  16. 14 6月, 2007 1 次提交
    • P
      [POWERPC] Fix per-cpu allocation on oldworld SMP powermacs · c63c4faa
      Paul Mackerras 提交于
      The per-cpu area(a) for the secondary CPU(s) isn't getting allocated
      on old SMP powermacs that don't have the secondary CPU(s) listed in
      the device tree, as per-cpu areas are now only allocated for CPUs in
      the cpu_possible_map, and we aren't setting the bits for the secondary
      CPU(s) until smp_prepare_cpus(), which is after per-cpu allocation.
      Therefore this sets the bits for CPUs 1..3 in cpu_possible_map in
      pmac_setup_arch, so they get per-cpu data allocated.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c63c4faa
  17. 09 5月, 2007 1 次提交
  18. 07 5月, 2007 2 次提交
  19. 24 4月, 2007 1 次提交
  20. 13 4月, 2007 1 次提交
  21. 07 2月, 2007 1 次提交
  22. 10 10月, 2006 1 次提交
    • P
      [POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs · d6a29252
      Paul Mackerras 提交于
      On the old "powersurge" SMP powermacs, the second CPU is started up
      by sending it an IPI, which has the side effect of stopping the
      timebase clock (so the secondary CPU's timebase can be synchronized
      with the primary's).  The routine that did this used udelay, which
      will hang forever when the timebase is stopped, since udelay now spins
      until the timebase reaches a certain value.
      
      The end result is that the kernel would hang when bringing up the
      second CPU.  This fixes it by using a simple loop which just does a
      fixed number of iterations to generate the delay.  These old systems
      were all clocked at around 200 MHz or so, so a fixed number of
      iterations is acceptable.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d6a29252
  23. 07 10月, 2006 1 次提交
  24. 24 9月, 2006 1 次提交
  25. 31 7月, 2006 1 次提交
  26. 03 7月, 2006 1 次提交
  27. 01 7月, 2006 1 次提交
  28. 23 3月, 2006 1 次提交
    • A
      [PATCH] more for_each_cpu() conversions · 394e3902
      Andrew Morton 提交于
      When we stop allocating percpu memory for not-possible CPUs we must not touch
      the percpu data for not-possible CPUs at all.  The correct way of doing this
      is to test cpu_possible() or to use for_each_cpu().
      
      This patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very
      few instances of this bug, if any.  But the patch converts lots of open-coded
      test to use the preferred helper macros.
      
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Acked-by: NKyle McMartin <kyle@parisc-linux.org>
      Cc: Anton Blanchard <anton@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Christian Zankel <chris@zankel.net>
      Cc: Philippe Elie <phil.el@wanadoo.fr>
      Cc: Nathan Scott <nathans@sgi.com>
      Cc: Jens Axboe <axboe@suse.de>
      Cc: Eric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      394e3902
  29. 03 3月, 2006 1 次提交
  30. 09 1月, 2006 1 次提交
    • B
      [PATCH] 3/5 powerpc: Add platform functions interpreter · 5b9ca526
      Benjamin Herrenschmidt 提交于
      This is the platform function interpreter itself along with the backends
      for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute
      those do-platform-* scripts in the device-tree (at least for most
      devices for which a backend is provided). This should replace the clock
      spreading hacks properly. It might also have an impact on all sort of
      machines since some of the scripts marked "at init" will now be executed
      on boot (or some other on sleep/wakeup), those will possibly do things
      that the kernel didn't do at all, like setting some values into some i2c
      devices (changing thermal sensor calibration or conversion rate) etc...
      Thus regression testing is MUCH welcome. Also loook for errors in dmesg.
      That's also why I've left rather verbose debugging enabled in this
      version of the patch.
      
      (I do expect some Windtunnel G4s to show some errors as they have an i2c
      clock chip on the PMU bus that uses some primitives that the i2c backend
      doesn't implement yet. I really need users that have one of those
      machine to come back to me so we can get that done right, though the
      errors themselves should be harmless, I suspect the machine might not
      run at full speed).
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      5b9ca526