1. 13 3月, 2008 2 次提交
    • T
      [POWERPC] Export empty_zero_page · 07dc42f6
      Theodore Ts'o 提交于
      Once again, this time with feeling....
      
      						- Ted
      
      >From c91cfaabc17f8a53807a2f31f067a732e34a1550 Mon Sep 17 00:00:00 2001
      From: Theodore Ts'o <tytso@mit.edu>
      Date: Wed, 12 Mar 2008 11:50:39 -0400
      Subject: Export empty_zero_page
      
      The empty_zero_page symbol is exported by most other architectures
      (s390, ia64, x86, um), and an upcoming ext4 patch needs it because
      ZERO_PAGE() references empty_zero_page, and we need it to zero out an
      unitialized extents in ext4 files.
      Signed-off-by: N"Theodore Ts'o" <tytso@mit.edu>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      07dc42f6
    • P
      [POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels · 95ff54f5
      Paul Mackerras 提交于
      Some drivers (such as V4L2) have code that causes gcc to generate
      calls to __ucmpdi2 when compiling for 32-bit powerpc, which results
      in either a link-time error or a module that can't be loaded, as
      we don't currently have a __ucmpdi2.  This adds one so these drivers
      can be used.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      95ff54f5
  2. 25 1月, 2008 1 次提交
  3. 14 12月, 2007 1 次提交
  4. 22 9月, 2007 1 次提交
    • 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
  5. 20 8月, 2007 1 次提交
  6. 10 7月, 2007 1 次提交
  7. 29 6月, 2007 2 次提交
  8. 02 5月, 2007 1 次提交
  9. 26 4月, 2007 1 次提交
  10. 13 4月, 2007 1 次提交
  11. 07 2月, 2007 1 次提交
  12. 11 12月, 2006 1 次提交
  13. 16 10月, 2006 1 次提交
    • P
      [POWERPC] Lazy interrupt disabling for 64-bit machines · d04c56f7
      Paul Mackerras 提交于
      This implements a lazy strategy for disabling interrupts.  This means
      that local_irq_disable() et al. just clear the 'interrupts are
      enabled' flag in the paca.  If an interrupt comes along, the interrupt
      entry code notices that interrupts are supposed to be disabled, and
      clears the EE bit in SRR1, clears the 'interrupts are hard-enabled'
      flag in the paca, and returns.  This means that interrupts only
      actually get disabled in the processor when an interrupt comes along.
      
      When interrupts are enabled by local_irq_enable() et al., the code
      sets the interrupts-enabled flag in the paca, and then checks whether
      interrupts got hard-disabled.  If so, it also sets the EE bit in the
      MSR to hard-enable the interrupts.
      
      This has the potential to improve performance, and also makes it
      easier to make a kernel that can boot on iSeries and on other 64-bit
      machines, since this lazy-disable strategy is very similar to the
      soft-disable strategy that iSeries already uses.
      
      This version renames paca->proc_enabled to paca->soft_enabled, and
      changes a couple of soft-disables in the kexec code to hard-disables,
      which should fix the crash that Michael Ellerman saw.  This doesn't
      yet use a reserved CR field for the soft_enabled and hard_enabled
      flags.  This applies on top of Stephen Rothwell's patches to make it
      possible to build a combined iSeries/other kernel.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d04c56f7
  14. 20 9月, 2006 3 次提交
  15. 13 9月, 2006 1 次提交
  16. 25 8月, 2006 1 次提交
  17. 08 8月, 2006 1 次提交
  18. 11 7月, 2006 1 次提交
  19. 01 7月, 2006 1 次提交
  20. 03 4月, 2006 1 次提交
  21. 16 3月, 2006 1 次提交
    • O
      [PATCH] powerpc: remove duplicate EXPORT_SYMBOLS · 920573bd
      Olaf Hering 提交于
      remove warnings when building a 64bit kernel.
      smp_call_function triggers also with 32bit kernel.
      
      WARNING: vmlinux: duplicate symbol 'smp_call_function' previous definition was in vmlinux
      arch/powerpc/kernel/ppc_ksyms.c:164:EXPORT_SYMBOL(smp_call_function);
      arch/powerpc/kernel/smp.c:300:EXPORT_SYMBOL(smp_call_function);
      
      WARNING: vmlinux: duplicate symbol 'ioremap' previous definition was in vmlinux
      arch/powerpc/kernel/ppc_ksyms.c:113:EXPORT_SYMBOL(ioremap);
      arch/powerpc/mm/pgtable_64.c:321:EXPORT_SYMBOL(ioremap);
      
      WARNING: vmlinux: duplicate symbol '__ioremap' previous definition was in vmlinux
      arch/powerpc/kernel/ppc_ksyms.c:117:EXPORT_SYMBOL(__ioremap);
      arch/powerpc/mm/pgtable_64.c:322:EXPORT_SYMBOL(__ioremap);
      
      WARNING: vmlinux: duplicate symbol 'iounmap' previous definition was in vmlinux
      arch/powerpc/kernel/ppc_ksyms.c:118:EXPORT_SYMBOL(iounmap);
      arch/powerpc/mm/pgtable_64.c:323:EXPORT_SYMBOL(iounmap);
      Signed-off-by: NOlaf Hering <olh@suse.de>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      920573bd
  22. 20 2月, 2006 1 次提交
    • O
      [PATCH] powerpc: remove duplicate exports · 0728a2f9
      Olaf Hering 提交于
      A few symbols are exported twice, remove them from ppc_ksyms.c
      Remove users of sys_ctrler in arch/ppc/
      
      WARNING: vmlinux: duplicate symbol '__delay' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol '__up' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol '__down' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol '__down_interruptible' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'sys_ctrler' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'strncat' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'strncmp' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'strchr' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'strrchr' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'strnlen' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'strpbrk' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'memscan' previous definition was in vmlinux
      WARNING: vmlinux: duplicate symbol 'strstr' previous definition was in vmlinux
      Signed-off-by: NOlaf Hering <olh@suse.de>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      0728a2f9
  23. 07 2月, 2006 1 次提交
  24. 14 1月, 2006 1 次提交
  25. 10 1月, 2006 1 次提交
  26. 09 1月, 2006 1 次提交
  27. 29 11月, 2005 1 次提交
  28. 19 11月, 2005 1 次提交
    • P
      powerpc: Merge pci.h · f8ef2705
      Paul Mackerras 提交于
      This involves some minor changes: a few unused functions that the
      ppc32 pci.c provides are no longer declared here or exported;
      pcibios_assign_all_busses now just refers to the pci_assign_all_buses
      variable on both 32-bit and 64-bit; pcibios_scan_all_fns is now
      just 0 instead of a function that always returns 0 on 64-bit.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f8ef2705
  29. 16 11月, 2005 1 次提交
  30. 10 11月, 2005 2 次提交
    • P
      [PATCH] powerpc: merge code values for identifying platforms · 799d6046
      Paul Mackerras 提交于
      This patch merges platform codes.  systemcfg->platform is no longer used,
      systemcfg use in general is deprecated as much as possible (and renamed
      _systemcfg before it gets completely moved elsewhere in a future patch),
      _machine is now used on ppc64 along as ppc32.  Platform codes aren't gone
      yet but we are getting a step closer. A bunch of asm code in head[_64].S
      is also turned into C code.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      799d6046
    • D
      [PATCH] powerpc: Merge signal.h · c5ff7001
      David Gibson 提交于
      Having already merged the ppc and ppc64 versions of signal.c, this
      patch finishes the job by merging signal.h.  The two versions were
      almost identical already.  Notable changes:
      	- We use BITS_PER_LONG to correctly size sigset_t
      	- Remove some uneeded #includes and struct forward
      declarations.  This does mean adding an include to signal_32.c which
      relied on the indirect inclusion of sigcontext.h
      	- As the ppc64 version, the merged signal.h has prototypes for
      do_signal() and do_signal32().  Thus remove extra prototypes from
      ppc_ksyms.c which had them directly.
      
      Built and booted on POWER5 LPAR (ARCH=ppc64 and ARCH=powerpc).  Built
      for 32-bit powermac (ARCH=ppc and ARCH=powerpc) and Walnut (ARCH=ppc).
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c5ff7001
  31. 01 11月, 2005 1 次提交
    • D
      [PATCH] powerpc: Merge bitops.h · a0e60b20
      David Gibson 提交于
      Here's a revised version.  This re-introduces the set_bits() function
      from ppc64, which I removed because I thought it was unused (it exists
      on no other arch).  In fact it is used in the powermac interrupt code
      (but not on pSeries).
      
      - We use LARXL/STCXL macros to generate the right (32 or 64 bit)
        instructions, similar to LDL/STL from ppc_asm.h, used in fpu.S
      
      - ppc32 previously used a full "sync" barrier at the end of
        test_and_*_bit(), whereas ppc64 used an "isync".  The merged version
        uses "isync", since I believe that's sufficient.
      
      - The ppc64 versions of then minix_*() bitmap functions have changed
        semantics.  Previously on ppc64, these functions were big-endian
        (that is bit 0 was the LSB in the first 64-bit, big-endian word).
        On ppc32 (and x86, for that matter, they were little-endian.  As far
        as I can tell, the big-endian usage was simply wrong - I guess
        no-one ever tried to use minixfs on ppc64.
      
      - On ppc32 find_next_bit() and find_next_zero_bit() are no longer
        inline (they were already out-of-line on ppc64).
      
      - For ppc64, sched_find_first_bit() has moved from mmu_context.h to
        the merged bitops.  What it was doing in mmu_context.h in the first
        place, I have no idea.
      
      - The fls() function is now implemented using the cntlzw instruction
        on ppc64, instead of generic_fls(), as it already was on ppc32.
      
      - For ARCH=ppc, this patch requires adding arch/powerpc/lib to the
        arch/ppc/Makefile.  This in turn requires some changes to
        arch/powerpc/lib/Makefile which didn't correctly handle ARCH=ppc.
      
      Built and running on G5.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a0e60b20
  32. 28 10月, 2005 1 次提交
    • P
      powerpc: Merge xmon · f78541dc
      Paul Mackerras 提交于
      The merged version follows the ppc64 version pretty closely mostly,
      and in fact ARCH=ppc64 now uses the arch/powerpc/xmon version.
      The main difference for ppc64 is that the 'p' command to call
      show_state (which was always pretty dodgy) has been replaced by
      the ppc32 'p' command, which calls a given procedure (so in fact
      the old 'p' command behaviour can be achieved with 'p $show_state').
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f78541dc
  33. 26 10月, 2005 1 次提交
  34. 22 10月, 2005 1 次提交
  35. 20 10月, 2005 1 次提交
    • P
      powerpc: Merge time.c and asm/time.h. · f2783c15
      Paul Mackerras 提交于
      We now use the merged time.c for both 32-bit and 64-bit compilation
      with ARCH=powerpc, and for ARCH=ppc64, but not for ARCH=ppc32.
      This removes setup_default_decr (folds its function into time_init)
      and moves wakeup_decrementer into time.c.  This also makes an
      asm-powerpc/rtc.h.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f2783c15