1. 20 9月, 2012 1 次提交
  2. 19 7月, 2012 1 次提交
    • C
      tile pci: enable IOMMU to support DMA for legacy devices · 41bb38fc
      Chris Metcalf 提交于
      This change uses the TRIO IOMMU to map the PCI DMA space and physical
      memory at different addresses.  We also now use the dma_mapping_ops
      to provide support for non-PCI DMA, PCIe DMA (64-bit) and legacy PCI
      DMA (32-bit).  We use the kernel's software I/O TLB framework
      (i.e. bounce buffers) for the legacy 32-bit PCI device support since
      there are a limited number of TLB entries in the IOMMU and it is
      non-trivial to handle indexing, searching, matching, etc.  For 32-bit
      devices the performance impact of bounce buffers should not be a concern.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      41bb38fc
  3. 28 6月, 2012 1 次提交
  4. 26 5月, 2012 2 次提交
    • C
      arch/tile: support <asm/cachectl.h> header for cacheflush() syscall · cd6f32aa
      Chris Metcalf 提交于
      We already had a syscall that did some dcache flushing, but it was
      not used in practice.  Make it MIPS compatible instead so it can
      do both the DCACHE and ICACHE actions.  We have code that wants to
      be able to use the ICACHE flush mode from userspace so this change
      enables that.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      cd6f32aa
    • C
      arch/tile: Allow tilegx to build with either 16K or 64K page size · d5d14ed6
      Chris Metcalf 提交于
      This change introduces new flags for the hv_install_context()
      API that passes a page table pointer to the hypervisor.  Clients
      can explicitly request 4K, 16K, or 64K small pages when they
      install a new context.  In practice, the page size is fixed at
      kernel compile time and the same size is always requested every
      time a new page table is installed.
      
      The <hv/hypervisor.h> header changes so that it provides more abstract
      macros for managing "page" things like PFNs and page tables.  For
      example there is now a HV_DEFAULT_PAGE_SIZE_SMALL instead of the old
      HV_PAGE_SIZE_SMALL.  The various PFN routines have been eliminated and
      only PA- or PTFN-based ones remain (since PTFNs are always expressed
      in fixed 2KB "page" size).  The page-table management macros are
      renamed with a leading underscore and take page-size arguments with
      the presumption that clients will use those macros in some single
      place to provide the "real" macros they will use themselves.
      
      I happened to notice the old hv_set_caching() API was totally broken
      (it assumed 4KB pages) so I changed it so it would nominally work
      correctly with other page sizes.
      
      Tag modules with the page size so you can't load a module built with
      a conflicting page size.  (And add a test for SMP while we're at it.)
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      d5d14ed6
  5. 04 11月, 2011 1 次提交
  6. 04 6月, 2011 1 次提交
  7. 02 3月, 2011 1 次提交
  8. 05 6月, 2010 1 次提交
  9. 15 1月, 2009 1 次提交
  10. 07 1月, 2009 1 次提交
  11. 05 8月, 2008 1 次提交
  12. 07 3月, 2007 1 次提交
  13. 26 9月, 2006 1 次提交
  14. 18 6月, 2006 1 次提交