1. 18 7月, 2007 1 次提交
  2. 17 7月, 2007 1 次提交
  3. 12 7月, 2007 2 次提交
  4. 29 6月, 2007 5 次提交
  5. 17 6月, 2007 1 次提交
  6. 10 5月, 2007 2 次提交
    • K
      [POWERPC] User rheap from arch/powerpc/lib · b99ab6a8
      Kumar Gala 提交于
      Removed rheap in arch/ppc/lib and changed build system to use the
      one in arch/powerpc/lib.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      b99ab6a8
    • T
      [POWERPC] Change rheap functions to use ulongs instead of pointers · 4c35630c
      Timur Tabi 提交于
      The rheap allocation functions return a pointer, but the actual value is based
      on how the heap was initialized, and so it can be anything, e.g. an offset
      into a buffer.  A ulong is a better representation of the value returned by
      the allocation functions.
      
      This patch changes all of the relevant rheap functions to use a unsigned long
      integers instead of a pointer.  In case of an error, the value returned is
      a negative error code that has been cast to an unsigned long.  The caller can
      use the IS_ERR_VALUE() macro to check for this.
      
      All code which calls the rheap functions is updated accordingly.  Macros
      IS_MURAM_ERR() and IS_DPERR(), have been deleted in favor of IS_ERR_VALUE().
      
      Also added error checking to rh_attach_region().
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      4c35630c
  7. 09 5月, 2007 5 次提交
  8. 03 5月, 2007 1 次提交
    • J
      [PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction · d6dd61c8
      Jeremy Fitzhardinge 提交于
      Add hooks to allow a paravirt implementation to track the lifetime of
      an mm.  Paravirtualization requires three hooks, but only two are
      needed in common code.  They are:
      
      arch_dup_mmap, which is called when a new mmap is created at fork
      
      arch_exit_mmap, which is called when the last process reference to an
        mm is dropped, which typically happens on exit and exec.
      
      The third hook is activate_mm, which is called from the arch-specific
      activate_mm() macro/function, and so doesn't need stub versions for
      other architectures.  It's called when an mm is first used.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: linux-arch@vger.kernel.org
      Cc: James Bottomley <James.Bottomley@SteelEye.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      d6dd61c8
  9. 30 4月, 2007 2 次提交
  10. 13 4月, 2007 1 次提交
  11. 13 2月, 2007 1 次提交
  12. 10 2月, 2007 1 次提交
  13. 07 2月, 2007 2 次提交
  14. 24 1月, 2007 1 次提交
  15. 11 12月, 2006 1 次提交
  16. 08 12月, 2006 3 次提交
    • B
      [POWERPC] Fix mmap of PCI resource with hack for X · 396a1a58
      Benjamin Herrenschmidt 提交于
      The powerpc version of pci_resource_to_user() and associated hooks
      used by /proc/bus/pci and /sys/bus/pci mmap have been broken for some
      time on machines that don't have a 1:1 mapping of devices (basically
      on non-PowerMacs) and have PCI devices above 32 bits.
      
      This attempts to fix it as well as possible.
      
      The rule is supposed to be that pci_resource_to_user() always converts
      the resources back into a BAR values since that's what the /proc
      interface was supposed to deal with. However, for X to work on
      platforms where PCI MMIO is not mapped 1:1, it became a habit of
      platforms like powerpc to pass "fixed up" values there since X expects
      to be able to use values from /proc/bus/pci/devices as offsets to mmap
      of /dev/mem...
      
      So we keep that contraption here, causing also /sys/*/resource to
      expose fully absolute MMIO addresses instead of BAR values, which is
      ugly, but should still work as long as those are only used to calculate
      alignment within a page.
      
      X is still broken when built 32 bits on machines where PCI MMIO can be
      above 32-bit space unfortunately.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      396a1a58
    • R
      [POWERPC] Define pci_unmap_addr() et al. when CONFIG_NOT_COHERENT_CACHE=y · 1d4454e7
      Roland Dreier 提交于
      The current PowerPC code makes pci_unmap_addr(), pci_unmap_addr_set(),
      and friends trivial for all 32-bit kernels.  This is reasonable, since
      for those kernels it is true that pci_unmap_single() does not need the
      DMA address from the original DMA mapping -- in fact, it is a NOP.
      
      However, I recently tried the tg3 driver on a PowerPC 440SPe machine,
      which runs a 32-bit kernel and has non-cache-coherent PCI DMA.  I
      found that the tg3 driver crashed in pci_dma_sync_single_for_cpu(),
      since for non-coherent systems, that function must invalidate the
      cache for the DMA address range requested, and therefore it does use
      the address passed in.  tg3 uses a DMA address it stashes away with
      pci_unmap_addr_set() and retrieves with pci_unmap_addr().  Of course,
      since pci_unmap_addr() is defined to (0) right now, this doesn't work.
      
      It seems to me that the tg3 driver is using pci_unmap_addr() in a
      legitimate way -- I wouldn't want to have to teach all drivers that
      they should use pci_unmap_addr() if they only need the address for
      unmapping functions, but if they want the pci_dma_sync functions, then
      they have to store the DMA address without the helper macros.
      The right fix therefore seems to be in the definition of the macros in
      <asm/pci.h> -- we should use the trivial versions only for 32-bit
      kernels for coherent systems, and the real versions for both 64-bit
      kernels and non-coherent systems.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      1d4454e7
    • P
      [PATCH] mm: pagefault_{disable,enable}() · a866374a
      Peter Zijlstra 提交于
      Introduce pagefault_{disable,enable}() and use these where previously we did
      manual preempt increments/decrements to make the pagefault handler do the
      atomic thing.
      
      Currently they still rely on the increased preempt count, but do not rely on
      the disabled preemption, this might go away in the future.
      
      (NOTE: the extra barrier() in pagefault_disable might fix some holes on
             machines which have too many registers for their own good)
      
      [heiko.carstens@de.ibm.com: s390 fix]
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NNick Piggin <npiggin@suse.de>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a866374a
  17. 04 12月, 2006 4 次提交
  18. 02 12月, 2006 1 次提交
  19. 13 11月, 2006 1 次提交
  20. 12 10月, 2006 1 次提交
  21. 10 10月, 2006 1 次提交
  22. 07 10月, 2006 2 次提交