1. 28 1月, 2012 1 次提交
  2. 08 12月, 2011 2 次提交
    • C
      ARM: LPAE: Page table maintenance for the 3-level format · da028779
      Catalin Marinas 提交于
      This patch modifies the pgd/pmd/pte manipulation functions to support
      the 3-level page table format. Since there is no need for an 'ext'
      argument to cpu_set_pte_ext(), this patch conditionally defines a
      different prototype for this function when CONFIG_ARM_LPAE.
      
      The patch also introduces the L_PGD_SWAPPER flag to mark pgd entries
      pointing to pmd tables pre-allocated in the swapper_pg_dir and avoid
      trying to free them at run-time. This flag is 0 with the classic page
      table format.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      da028779
    • C
      ARM: pgtable: Fix compiler warning in ioremap.c introduced by nopud · 03a6b827
      Catalin Marinas 提交于
      With the arch/arm code conversion to pgtable-nopud.h, the section and
      supersection (un|re)map code triggers compiler warnings on UP systems.
      This is caused by pmd_offset() being given a pgd_t argument rather than
      a pud_t one. This patch makes the necessary conversion with the
      assumption that the pud is folded into the pgd. The page table setting
      code only loops over the pmd which is enough with the classic page
      tables. This code is not compiled when LPAE is enabled.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      03a6b827
  3. 27 11月, 2011 2 次提交
  4. 23 10月, 2011 1 次提交
  5. 24 12月, 2010 1 次提交
  6. 24 11月, 2010 1 次提交
  7. 13 10月, 2010 1 次提交
  8. 27 7月, 2010 1 次提交
  9. 22 6月, 2010 1 次提交
    • R
      ARM: Prohibit ioremap() on kernel managed RAM · 309caa9c
      Russell King 提交于
      ARMv6 and above have a restriction whereby aliasing virtual:physical
      mappings must not have differing memory type and sharability
      attributes.  Strictly, this covers the memory type (strongly ordered,
      device, memory), cache attributes (uncached, write combine, write
      through, write back read alloc, write back write alloc) and the
      shared bit.
      
      However, using ioremap() and its variants on system RAM results in
      mappings which differ in these attributes from the main system RAM
      mapping.  Other architectures which similar restrictions approch this
      problem in the same way - they do not permit ioremap on main system
      RAM.
      
      Make ARM behave in the same way, with a WARN_ON() such that users can
      be traced and an alternative approach found.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      309caa9c
  10. 16 2月, 2010 1 次提交
  11. 19 5月, 2009 1 次提交
    • H
      omap iommu: simple virtual address space management · 69d3a84a
      Hiroshi DOYU 提交于
      This patch provides a device drivers, which has a omap iommu, with
      address mapping APIs between device virtual address(iommu), physical
      address and MPU virtual address.
      
      There are 4 possible patterns for iommu virtual address(iova/da) mapping.
      
          |iova/			  mapping		iommu_		page
          | da	pa	va	(d)-(p)-(v)		function	type
        ---------------------------------------------------------------------------
        1 | c		c	c	 1 - 1 - 1	  _kmap() / _kunmap()	s
        2 | c		c,a	c	 1 - 1 - 1	_kmalloc()/ _kfree()	s
        3 | c		d	c	 1 - n - 1	  _vmap() / _vunmap()	s
        4 | c		d,a	c	 1 - n - 1	_vmalloc()/ _vfree()	n*
      
          'iova':	device iommu virtual address
          'da':	alias of 'iova'
          'pa':	physical address
          'va':	mpu virtual address
      
          'c':	contiguous memory area
          'd':	dicontiguous memory area
          'a':	anonymous memory allocation
          '()':	optional feature
      
          'n':	a normal page(4KB) size is used.
          's':	multiple iommu superpage(16MB, 1MB, 64KB, 4KB) size is used.
      
          '*':	not yet, but feasible.
      Signed-off-by: NHiroshi DOYU <Hiroshi.DOYU@nokia.com>
      69d3a84a
  12. 26 1月, 2009 1 次提交
  13. 01 10月, 2008 1 次提交
  14. 06 9月, 2008 1 次提交
  15. 05 9月, 2008 1 次提交
    • R
      [ARM] sparse: fix several warnings · 09d9bae0
      Russell King 提交于
      arch/arm/kernel/process.c:270:6: warning: symbol 'show_fpregs' was not declared. Should it be static?
      
      This function isn't used, so can be removed.
      
      arch/arm/kernel/setup.c:532:9: warning: symbol 'len' shadows an earlier one
      arch/arm/kernel/setup.c:524:6: originally declared here
      
      A function containing two 'len's.
      
      arch/arm/mm/fault-armv.c:188:13: warning: symbol 'check_writebuffer_bugs' was not declared. Should it be static?
      arch/arm/mm/mmap.c:122:5: warning: symbol 'valid_phys_addr_range' was not declared. Should it be static?
      arch/arm/mm/mmap.c:137:5: warning: symbol 'valid_mmap_phys_addr_range' was not declared. Should it be static?
      
      Missing includes.
      
      arch/arm/kernel/traps.c:71:77: warning: Using plain integer as NULL pointer
      arch/arm/mm/ioremap.c:355:46: error: incompatible types in comparison expression (different address spaces)
      
      Sillies.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      09d9bae0
  16. 01 9月, 2008 1 次提交
  17. 03 8月, 2008 1 次提交
  18. 06 2月, 2008 1 次提交
  19. 12 7月, 2007 1 次提交
  20. 21 5月, 2007 1 次提交
  21. 06 5月, 2007 1 次提交
    • R
      [ARM] mm 10: allow memory type to be specified with ioremap · 3603ab2b
      Russell King 提交于
      __ioremap() took a set of page table flags (specifically the cacheable
      and bufferable bits) to control the mapping type.  However, with
      the advent of ARMv6, this is far too limited.
      
      Replace the page table flags with a memory type index, so that the
      desired attributes can be selected from the mem_type table.
      
      Finally, to prevent silent miscompilation due to the differing
      arguments, rename the __ioremap() and __ioremap_pfn() functions.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3603ab2b
  22. 22 4月, 2007 3 次提交
  23. 26 1月, 2007 1 次提交
  24. 18 12月, 2006 1 次提交
  25. 13 12月, 2006 2 次提交
  26. 09 10月, 2006 1 次提交
  27. 26 9月, 2006 1 次提交
    • D
      [PATCH] Standardize pxx_page macros · 46a82b2d
      Dave McCracken 提交于
      One of the changes necessary for shared page tables is to standardize the
      pxx_page macros.  pte_page and pmd_page have always returned the struct
      page associated with their entry, while pte_page_kernel and pmd_page_kernel
      have returned the kernel virtual address.  pud_page and pgd_page, on the
      other hand, return the kernel virtual address.
      
      Shared page tables needs pud_page and pgd_page to return the actual page
      structures.  There are very few actual users of these functions, so it is
      simple to standardize their usage.
      
      Since this is basic cleanup, I am submitting these changes as a standalone
      patch.  Per Hugh Dickins' comments about it, I am also changing the
      pxx_page_kernel macros to pxx_page_vaddr to clarify their meaning.
      Signed-off-by: NDave McCracken <dmccr@us.ibm.com>
      Cc: Hugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      46a82b2d
  28. 29 7月, 2006 1 次提交
  29. 03 7月, 2006 2 次提交
  30. 02 7月, 2006 1 次提交
  31. 30 6月, 2006 1 次提交
    • R
      [ARM] Add section support to ioremap · ff0daca5
      Russell King 提交于
      Allow section mappings to be setup using ioremap() and torn down
      with iounmap().  This requires additional support in the MM
      context switch to ensure that mappings are properly synchronised
      when mapped in.
      
      Based an original implementation by Deepak Saxena, reworked and
      ARMv6 support added by rmk.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ff0daca5
  32. 29 6月, 2006 1 次提交
  33. 16 5月, 2006 1 次提交
  34. 22 3月, 2006 1 次提交