1. 17 4月, 2008 1 次提交
    • M
      [POWERPC] pseries/phyp dump: Reserve a variable amount of space at boot · 37ddd5d0
      Manish Ahuja 提交于
      This changes the way we calculate how much space to reserve for the
      pHyp dump.  Currently we reserve 256MB only.  With this change, the
      code first checks to see if an amount has been specified on the boot
      command line with the "phyp_dump_reserve_size" option, and if so, uses
      that much.
      
      Otherwise it computes 5% of total ram and rounds it down to a multiple
      of 256MB, and uses the larger of that or 256MB.
      
      This is for large systems with a lot of memory (10GB or more).  The
      aim is to have more space available for the kernel on reboot on
      machines with more resources.  Although the dump will be collected
      pretty fast and the memory released really early on allowing the
      machine to have the full memory available, this alleviates any issues
      that can be caused by having way too little memory on very very large
      systems during those few minutes.
      Signed-off-by: NManish Ahuja <mahuja@us.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      37ddd5d0
  2. 07 4月, 2008 1 次提交
  3. 01 4月, 2008 1 次提交
  4. 31 3月, 2008 1 次提交
  5. 26 3月, 2008 10 次提交
  6. 26 2月, 2008 1 次提交
  7. 22 2月, 2008 1 次提交
  8. 20 2月, 2008 1 次提交
  9. 07 2月, 2008 4 次提交
  10. 06 2月, 2008 1 次提交
    • J
      [POWERPC] arch/powerpc/platforms/pseries: Add missing of_node_put · 842decbd
      Julia Lawall 提交于
      Of_get_parent and of_find_compatible_node do an of_node_get, and thus a
      corresponding of_code_put is needed in the error case.
      
      The problem was found using the following semantic match.
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@
      type T,T1,T2;
      identifier E;
      statement S;
      expression x1,x2,x3;
      int ret;
      @@
      
        T E;
        ...
      * E = \(of_get_parent\|of_find_compatible_node\)(...);
        if (E == NULL) S
        ... when != of_node_put(...,(T1)E,...)
            when != if (E != NULL) { ... of_node_put(...,(T1)E,...); ...}
            when != x1 = (T1)E
            when != E = x3;
            when any
        if (...) {
          ... when != of_node_put(...,(T2)E,...)
              when != if (E != NULL) { ... of_node_put(...,(T2)E,...); ...}
              when != x2 = (T2)E
      (
      *   return;
      |
      *   return ret;
      )
        }
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Kumar Gala <galak@gate.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      842decbd
  11. 26 1月, 2008 1 次提交
    • G
      cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() · 86ef5c9a
      Gautham R Shenoy 提交于
      Replace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use
      get_online_cpus and put_online_cpus instead as it highlights the
      refcount semantics in these operations.
      
      The new API guarantees protection against the cpu-hotplug operation, but
      it doesn't guarantee serialized access to any of the local data
      structures. Hence the changes needs to be reviewed.
      
      In case of pseries_add_processor/pseries_remove_processor, use
      cpu_maps_update_begin()/cpu_maps_update_done() as we're modifying the
      cpu_present_map there.
      Signed-off-by: NGautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      86ef5c9a
  12. 25 1月, 2008 4 次提交
  13. 17 1月, 2008 1 次提交
  14. 15 1月, 2008 1 次提交
    • P
      [POWERPC] Fix boot failure on POWER6 · dfbe0d3b
      Paul Mackerras 提交于
      Commit 473980a9 added a call to clear
      the SLB shadow buffer before registering it.  Unfortunately this means
      that we clear out the entries that slb_initialize has previously set in
      there.  On POWER6, the hypervisor uses the SLB shadow buffer when doing
      partition switches, and that means that after the next partition switch,
      each non-boot CPU has no SLB entries to map the kernel text and data,
      which causes it to crash.
      
      This fixes it by reverting most of 473980a9 and instead clearing the
      3rd entry explicitly in slb_initialize.  This fixes the problem that
      473980a9 was trying to solve, but without breaking POWER6.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      dfbe0d3b
  15. 11 1月, 2008 1 次提交
  16. 20 12月, 2007 2 次提交
    • B
      [POWERPC] Merge PCI resource fixups · bf5e2ba2
      Benjamin Herrenschmidt 提交于
      The PCI code in 32 and 64 bits fixes up resources differently.
      
      32 bits uses a header quirk plus handles bridges in pcibios_fixup_bus()
      while 64 bits does things in various places depending on whether you
      are using OF probing, using PCI hotplug, etc...
      
      This merges those by basically using the 32 bits approach for both,
      with various tweaks to make 64 bits work with the new approach.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      bf5e2ba2
    • M
      [POWERPC] Push down or eliminate smp_processor_id calls in xics code · d7cf0edb
      Milton Miller 提交于
      The per-processor interrupt request register and current processor
      priority register are only accessed on the current cpu.  In fact the
      hypervisor doesn't even let us choose which cpu's registers to access.
      
      The only function to use cpu twice is xics_migrate_irqs_away, not a fast
      path.  But we can cache the result of get_hard_processor_id() instead of
      calling get_hard_smp_processor_id(cpu) in a loop across the call to rtas.
      
      Years ago the irq code passed smp_processor_id into get_irq, I thought
      we might initialize the CPPR third party at boot as an extra measure of
      saftey, and it made the code symmetric with the qirr (queued interrupt
      for software generated interrupts), but now it is just extra and
      sometimes unneeded work to pass it down.
      Signed-off-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d7cf0edb
  17. 11 12月, 2007 4 次提交
  18. 03 12月, 2007 4 次提交