Skip to content
  1. May 05, 2008
  2. May 02, 2008
    • Paul Mackerras's avatar
      [POWERPC] Bolt in SLB entry for kernel stack on secondary cpus · 3b575064
      Paul Mackerras authored
      This fixes a regression reported by Kamalesh Bulabel where a POWER4
      machine would crash because of an SLB miss at a point where the SLB
      miss exception was unrecoverable.  This regression is tracked at:
      
      http://bugzilla.kernel.org/show_bug.cgi?id=10082
      
      
      
      SLB misses at such points shouldn't happen because the kernel stack is
      the only memory accessed other than things in the first segment of the
      linear mapping (which is mapped at all times by entry 0 of the SLB).
      The context switch code ensures that SLB entry 2 covers the kernel
      stack, if it is not already covered by entry 0.  None of entries 0
      to 2 are ever replaced by the SLB miss handler.
      
      Where this went wrong is that the context switch code assumes it
      doesn't have to write to SLB entry 2 if the new kernel stack is in the
      same segment as the old kernel stack, since entry 2 should already be
      correct.  However, when we start up a secondary cpu, it calls
      slb_initialize, which doesn't set up entry 2.  This is correct for
      the boot cpu, where we will be using a stack in the kernel BSS at this
      point (i.e. init_thread_union), but not necessarily for secondary
      cpus, whose initial stack can be allocated anywhere.  This doesn't
      cause any immediate problem since the SLB miss handler will just
      create an SLB entry somewhere else to cover the initial stack.
      
      In fact it's possible for the cpu to go quite a long time without SLB
      entry 2 being valid.  Eventually, though, the entry created by the SLB
      miss handler will get overwritten by some other entry, and if the next
      access to the stack is at an unrecoverable point, we get the crash.
      
      This fixes the problem by making slb_initialize create a suitable
      entry for the kernel stack, if we are on a secondary cpu and the stack
      isn't covered by SLB entry 0.  This requires initializing the
      get_paca()->kstack field earlier, so I do that in smp_create_idle
      where the current field is initialized.  This also abstracts a bit of
      the computation that mk_esid_data in slb.c does so that it can be used
      in slb_initialize.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      3b575064
    • Geoff Levand's avatar
      [POWERPC] PS3: Update ps3_defconfig · d9f2f3f5
      Geoff Levand authored
      
      
      Update ps3_defconfig.
      
      Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      d9f2f3f5
    • Geert Uytterhoeven's avatar
      [POWERPC] PS3: Make ps3_virq_setup and ps3_virq_destroy static · fdedb4ca
      Geert Uytterhoeven authored
      
      
      The routines ps3_virq_setup() and ps3_virq_destroy() are used
      in only one file, so make them static.
      
      Signed-off-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      fdedb4ca
    • Geoff Levand's avatar
      [POWERPC] Fix slb.c compile warnings · bbea3460
      Geoff Levand authored
      
      
      Arrange for a syntax check to always be done on the powerpc/mm/slb.c
      DBG() macro by defining it to pr_debug() for non-debug builds.
      
      Also, fix these related compile warnings:
      
        slb.c:273: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int
        slb.c:274: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
      
      Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
      Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      bbea3460
    • Kumar Gala's avatar
      [POWERPC] Xilinx: Fix compile warnings · b17b8181
      Kumar Gala authored
      
      
      arch/powerpc/sysdev/xilinx_intc.c: In function 'xilinx_intc_init':
      arch/powerpc/sysdev/xilinx_intc.c:111: warning: format '%08X' expects type 'unsigned int', but argument 2 has type 'resource_size_t'
      drivers/char/xilinx_hwicap/xilinx_hwicap.c: In function 'hwicap_setup':
      drivers/char/xilinx_hwicap/xilinx_hwicap.c:626: warning: cast to pointer from integer of different size
      drivers/char/xilinx_hwicap/xilinx_hwicap.c:646: warning: format '%x' expects type 'unsigned int', but argument 6 has type 'resource_size_t'
      
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      b17b8181
    • Becky Bruce's avatar
      [POWERPC] Squash build warning for print of resource_size_t in fsl_soc.c · 128cf7f2
      Becky Bruce authored
      
      
      When resource_size_t is larger than an int, the current code
      generates a build warning.  Kill it.
      
      Signed-off-by: default avatarBecky Bruce <becky.bruce@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      128cf7f2
    • Randy Dunlap's avatar
      [RAPIDIO] fix current kernel-doc notation · 9941d945
      Randy Dunlap authored
      
      
      Fix current (-git16) missing docbook/kernel-doc notation in RapidIO files.
      
      Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'sys_size'
      Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'phy_type'
      
      Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:188): No description found for parameter 'mport'
      Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:224): No description found for parameter 'mport'
      Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:245): No description found for parameter 'mport'
      Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:270): No description found for parameter 'mport'
      Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:311): No description found for parameter 'mport'
      Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:996): No description found for parameter 'dev'
      
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      9941d945
    • Anton Vorontsov's avatar
      [POWERPC] 86xx: mpc8610_hpcd: add support for PCI Express x8 slot · e598477a
      Anton Vorontsov authored
      
      
      This patch adds pcie node which is resposible for PCI-E x8 slot
      functioning. Though, this was tested using only x1 SKY2 NIC.
      
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      e598477a
  3. Apr 30, 2008
  4. Apr 29, 2008
Loading