1. 03 10月, 2007 15 次提交
  2. 22 9月, 2007 2 次提交
    • E
      [POWERPC] Fix build errors when BLOCK=n · 576e393e
      Emil Medve 提交于
      These are the symptom error messages:
      
        CC      arch/powerpc/kernel/setup_32.o
      In file included from include/linux/blkdev.h:17,
                       from include/linux/ide.h:13,
                       from arch/powerpc/kernel/setup_32.c:13:
      include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
      include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
      include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list
      In file included from arch/powerpc/kernel/setup_32.c:13:
      include/linux/ide.h:857: error: field 'wrq' has incomplete type
      
        CC      arch/powerpc/kernel/ppc_ksyms.o
      In file included from include/linux/blkdev.h:17,
                       from include/linux/ide.h:13,
                       from arch/powerpc/kernel/ppc_ksyms.c:15:
      include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
      include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
      include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list
      In file included from arch/powerpc/kernel/ppc_ksyms.c:15:
      include/linux/ide.h:857: error: field 'wrq' has incomplete type
      
      The fix tries to use the smallest scope CONFIG_* symbols that will fix
      the build problem.  In this case <linux/ide.h> needs to be included
      only if IDE=y or IDE=m were selected.  Also, ppc_ide_md is needed only
      if BLK_DEV_IDE=y or BLK_DEV_IDE=m
      
      Moved the EXPORT_SYMBOL(ppc_ide_md) from ppc_ksysms.c next to its
      declaration in setup_32.c which made <linux/ide.h> not needed. With
      <linux/ide.h> gone from ppc_ksyms.c, <asm/cacheflush.h> is needed to
      address the following warnings and errors:
      
        CC      arch/powerpc/kernel/ppc_ksyms.o
      arch/powerpc/kernel/ppc_ksyms.c:122: error: '__flush_icache_range' undeclared here (not in a function)
      arch/powerpc/kernel/ppc_ksyms.c:122: warning: type defaults to 'int' in declaration of '__flush_icache_range'
      arch/powerpc/kernel/ppc_ksyms.c:123: error: 'flush_dcache_range' undeclared here (not in a function)
      arch/powerpc/kernel/ppc_ksyms.c:123: warning: type defaults to 'int' in declaration of 'flush_dcache_range'
      Signed-off-by: NEmil Medve <Emilian.Medve@Freescale.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      576e393e
    • S
      [POWERPC] Avoid pointless WARN_ON(irqs_disabled()) from panic codepath · 8fd7675c
      Satyam Sharma 提交于
      > ------------[ cut here ]------------
      > Badness at arch/powerpc/kernel/smp.c:202
      
      comes when smp_call_function_map() has been called with irqs disabled,
      which is illegal. However, there is a special case, the panic() codepath,
      when we do not want to warn about this -- warning at that time is pointless
      anyway, and only serves to scroll away the *real* cause of the panic and
      distracts from the real bug.
      
      * So let's extract the WARN_ON() from smp_call_function_map() into all its
        callers -- smp_call_function() and smp_call_function_single()
      
      * Also, introduce another caller of smp_call_function_map(), namely
        __smp_call_function() (and make smp_call_function() a wrapper over this)
        which does *not* warn about disabled irqs
      
      * Use this __smp_call_function() from the panic codepath's smp_send_stop()
      
      We also end having to move code of smp_send_stop() below the definition
      of __smp_call_function().
      Signed-off-by: NSatyam Sharma <satyam@infradead.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8fd7675c
  3. 20 9月, 2007 2 次提交
  4. 19 9月, 2007 8 次提交
  5. 14 9月, 2007 3 次提交
    • K
      [POWERPC] Fix modpost warnings from head*.S on ppc32 · 748a7683
      Kumar Gala 提交于
      We get warnings like the following from the various ppc32 head*.S files:
      
      WARNING: vmlinux.o(.text+0x358): Section mismatch: reference to .init.text:early_init (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x380): Section mismatch: reference to .init.text:machine_init (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x384): Section mismatch: reference to .init.text:MMU_init (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x3aa): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x3ae): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base')
      
      Added a .text.head section simliar to what other architectures do since
      modpost already excludes this from its warnings.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      748a7683
    • K
      [POWERPC] Add cpu feature for SPE handling · 5e14d21e
      Kumar Gala 提交于
      Make it so that SPE support can be determined at runtime.  This is similiar
      to how we handle AltiVec.  This allows us to have SPE support built in and
      work on processors with and without SPE.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      5e14d21e
    • K
      [POWERPC] Handle alignment faults on SPE load/store instructions · 26caeb2e
      Kumar Gala 提交于
      This adds code to handle alignment traps generated by the following
      SPE (signal processing engine) load/store instructions, by emulating
      the instruction in the kernel (as is done for other instructions that
      generate alignment traps):
      
      evldd[x]         Vector Load Double Word into Double Word [Indexed]
      evldw[x]         Vector Load Double into Two Words [Indexed]
      evldh[x]         Vector Load Double into Four Half Words [Indexed]
      evlhhesplat[x]   Vector Load Half Word into Half Words Even and Splat [Indexed]
      evlhhousplat[x]  Vector Load Half Word into Half Word Odd Unsigned and Splat [Indexed]
      evlhhossplat[x]  Vector Load Half Word into Half Word Odd Signed and Splat [Indexed]
      evlwhe[x]        Vector Load Word into Two Half Words Even [Indexed]
      evlwhou[x]       Vector Load Word into Two Half Words Odd Unsigned (zero-extended) [Indexed]
      evlwhos[x]       Vector Load Word into Two Half Words Odd Signed (with sign extension) [Indexed]
      evlwwsplat[x]    Vector Load Word into Word and Splat [Indexed]
      evlwhsplat[x]    Vector Load Word into Two Half Words and Splat [Indexed]
      evstdd[x]        Vector Store Double of Double [Indexed]
      evstdw[x]        Vector Store Double of Two Words [Indexed]
      evstdh[x]        Vector Store Double of Four Half Words [Indexed]
      evstwhe[x]       Vector Store Word of Two Half Words from Even [Indexed]
      evstwho[x]       Vector Store Word of Two Half Words from Odd [Indexed]
      evstwwe[x]       Vector Store Word of Word from Even [Indexed]
      evstwwo[x]       Vector Store Word of Word from Odd [Indexed]
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      26caeb2e
  6. 13 9月, 2007 10 次提交