1. 07 Feb, 2008 8 commits
    • Nathan Fontenot's avatar
      [POWERPC] Update default irq servers when boot cpu is removed · de0723dc
      Nathan Fontenot authored
      The xics code does update the default server information when the boot
      cpu is removed.  This patch recognizes when the boot cpu is being
      removed and updates the appropriate information based on the new 'boot
      cpu'.
      
      Failure to update this information can causes us to leave irqs pinned
      to cpus that are being removed, especially when removing the boot cpu.
      The cpu is removed from the kernel, but cpu dlpar remove operations
      fail since we cannot return the cpu to the hypervisor.
      Signed-off-by: default avatarNathan Fonteno <nfont@austin.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      de0723dc
    • Nathan Fontenot's avatar
      [POWERPC] Remove redundant of_get_cpu_node routine · b99e6260
      Nathan Fontenot authored
      It appears that xics.c has its own of_get_cpu_node().  Remove this and
      use the common one from prom.c.
      Signed-off-by: default avatarNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      b99e6260
    • Nathan Fontenot's avatar
      [POWERPC] Split xics_teardown_cpu() · c3e8506c
      Nathan Fontenot authored
      This splits off the kexec path bits of the xics_teardown_cpu() routine
      into its own xics_kexec_teardown_cpu() routine.  With the previous
      combined routine the CPPR for a cpu that is being removed may have its
      CPPR reset in the plpar_eoi() call (which explicitly sets the CPPR to
      a non-zero value).  Splitting of the kexec bits of the code prevents
      this from happening in the cpu remove path.
      
      Once again, this does not cause the cpu remove from the kernel to
      fail, but it does cause cpu dlpar operations to not be able to return
      the cpu to the hypervisor.
      Signed-off-by: default avatarNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      c3e8506c
    • Nathan Fontenot's avatar
      [POWERPC] Update irq descriptor affinity · a52572dd
      Nathan Fontenot authored
      The affinity mask in the virq descriptor needs to be set before we
      reset the affinity for the virq.  Without doing this the call to get
      the new irq server fails and we end up leaving the virq pinned to the
      cpu we are removing.
      
      This does not fail the cpu remove from the kernel, but it does prevent
      cpu dlpar remove operations from returning the cpu to the hypervisor.
      Signed-off-by: default avatarNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a52572dd
    • Grant Likely's avatar
      [POWERPC] bootwrapper: Build multiple cuImages · 25431333
      Grant Likely authored
      Currently, the kernel uses CONFIG_DEVICE_TREE to wrap a kernel image
      with a fdt blob which means for any given configuration only one dts
      file can be selected and so support for only one board can be built
      
      This moves the selection of the default .dts file out of the kernel
      config and into the bootwrapper makefile.  The makefile chooses which
      images to build based on the kernel config and the dts source file
      name is taken directly from the image name.  For example "cuImage.ebony"
      will use "ebony.dts" as the device tree source file.
      
      In addition, this patch allows a specific image to be requested from the
      command line by adding "cuImage.%" and "treeImage.%" targets to the list
      of valid built targets in arch/powerpc/Makefile.  This allows the default
      dts selection to be overridden.
      
      Another advantage to this change is it allows a single defconfig to be
      supplied for all boards using the same chip family and only differing in
      the device tree.
      
      Important note: This patch adds two new zImage targets; zImage.dtb.% and
      zImage.dtb.initrd.% for zImages with embedded dtb files.  Currently
      there are 5 platforms which require this: ps3, ep405, mpc885ads, ep88xc,
      adder875-redboot and ep8248e.  This patch *changes the zImage filenames*
      for those platforms.  ie. 'zImage.ps3' is now 'zImage.dtb.ps3'.
      
      This new zImage.dtb targets were added so that the .dts file could be
      part of the dependancies list for building them.
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      25431333
    • Balbir Singh's avatar
      [POWERPC] Fake NUMA emulation for PowerPC · 1daa6d08
      Balbir Singh authored
      Here's a dumb simple implementation of fake NUMA nodes for PowerPC.
      Fake NUMA nodes can be specified using the following command line
      option
      
      numa=fake=<node range>
      
      node range is of the format <range1>,<range2>,...<rangeN>
      
      Each of the rangeX parameters is passed using memparse().  I find the
      patch useful for fake NUMA emulation on my simple PowerPC machine.
      I've tested it on a numa box with the following arguments
      
      numa=fake=512M
      numa=fake=512M,768M
      numa=fake=256M,512M mem=512M
      numa=fake=1G mem=768M
      numa=fake=
      without any numa= argument
      
      The other side-effect introduced by this patch is that; in the case
      where we don't have NUMA information, we now set a node online after
      adding each LMB.  This node could very well be node 0, but in the case
      that we enable fake NUMA nodes, when we cross node boundaries, we need
      to set the new node online.
      Signed-off-by: default avatarBalbir Singh <balbir@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      1daa6d08
    • Olof Johansson's avatar
      [POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=y · 7dbb922c
      Olof Johansson authored
      Looks like "[POWERPC] kdump shutdown hook support" broke builds when
      CONFIG_DEBUGGER=n and CONFIG_KEXEC=y, such as in g5_defconfig:
      
      arch/powerpc/kernel/crash.c: In function 'default_machine_crash_shutdown':
      arch/powerpc/kernel/crash.c:388: error: '__debugger_fault_handler' undeclared (first use in this function)
      arch/powerpc/kernel/crash.c:388: error: (Each undeclared identifier is reported only once
      arch/powerpc/kernel/crash.c:388: error: for each function it appears in.)
      
      Move the debugger hooks to under CONFIG_DEBUGGER || CONFIG_KEXEC, since
      that's when the crash code is enabled.
      
      (I should have caught this with my build-script pre-merge, my bad. :( )
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      7dbb922c
    • Paul Mackerras's avatar
  2. 06 Feb, 2008 32 commits