linux/arch/arm/mm
Nicolas Pitre 1bb772679f [ARM] Feroceon: add highmem support to L2 cache handling code
The choice is between looping over the physical range and performing
single cache line operations, or to map highmem pages somewhere, as
cache range ops are possible only on virtual addresses.

Because L2 range ops are much faster, we go with the later by factoring
the physical-to-virtual address conversion and use a fixmap entry for it
in the HIGHMEM case.

Possible future optimizations to avoid the pte setup cost:

 - do the pte setup for highmem pages only

 - determine a threshold for doing a line-by-line processing on physical
   addresses when the range is small

Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-03-15 21:01:21 -04:00
..
abort-ev4.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
abort-ev4t.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
abort-ev5t.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
abort-ev5tj.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
abort-ev6.S [ARM] 5416/1: Use unused address in v6_early_abort 2009-03-03 12:11:25 +00:00
abort-ev7.S [ARM] 5227/1: Add the ENDPROC declarations to the .S files 2008-09-01 12:06:34 +01:00
abort-lv4t.S [ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores. 2006-09-28 20:15:46 +01:00
abort-macro.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
abort-nommu.S [ARM] 5227/1: Add the ENDPROC declarations to the .S files 2008-09-01 12:06:34 +01:00
alignment.c Merge branch 'omap3-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel 2008-12-15 22:13:26 +00:00
cache-feroceon-l2.c [ARM] Feroceon: add highmem support to L2 cache handling code 2009-03-15 21:01:21 -04:00
cache-l2x0.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
cache-v3.S [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm 2008-11-28 23:20:39 +00:00
cache-v4.S [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm 2008-11-28 23:20:39 +00:00
cache-v4wb.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cache-v4wt.S [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mm 2008-11-28 23:20:39 +00:00
cache-v6.S [ARM] 3356/1: Workaround for the ARM1136 I-cache invalidation problem 2006-03-10 22:26:47 +00:00
cache-v7.S ARMv7: Add extra barriers for flush_cache_all compressed/head.S 2008-11-06 13:23:07 +00:00
cache-xsc3l2.c [ARM] xsc3: fix xsc3_l2_inv_range 2008-11-06 10:48:29 -07:00
context.c Merge branches 'armv7', 'at91', 'misc' and 'omap' into devel 2007-05-09 10:41:28 +01:00
copypage-feroceon.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v3.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v4mc.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v4wb.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v4wt.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-v6.c [ARM] clearpage: provide our own clear_user_highpage() 2008-11-27 23:53:48 +00:00
copypage-xsc3.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
copypage-xscale.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
discontig.c mm: move bootmem descriptors definition to a single place 2008-07-24 10:47:14 -07:00
dma-mapping.c [ARM] introduce dma_cache_maint_page() 2009-03-15 21:01:21 -04:00
extable.c [ARM] Convert asm/uaccess.h to linux/uaccess.h 2008-09-06 11:35:55 +01:00
fault-armv.c [ARM] 5366/1: fix shared memory coherency with VIVT L1 + L2 caches 2009-01-28 16:55:00 +00:00
fault.c Merge branch 'mxc-pu-imxfb' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6 into devel 2008-12-17 20:04:45 +00:00
fault.h [ARM] do_bad_area() always takes current and current->active_mm 2006-09-27 16:13:48 +01:00
flush.c [ARM] kmap support 2009-03-15 21:01:20 -04:00
highmem.c [ARM] kmap support 2009-03-15 21:01:20 -04:00
init.c [ARM] mem_init(): make highmem pages available for use 2009-03-15 21:01:21 -04:00
iomap.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
ioremap.c [ARM] fix section-based ioremap 2009-01-25 17:36:34 +00:00
Kconfig Merge branch 'for-rmk-realview' of git://linux-arm.org/linux-2.6 into devel 2008-12-01 17:53:45 +00:00
Makefile [ARM] kmap support 2009-03-15 21:01:20 -04:00
mm.h [ARM] fixmap support 2009-03-15 21:01:20 -04:00
mmap.c [ARM] Fix virtual to physical translation macro corner cases 2009-03-12 23:09:09 +00:00
mmu.c [ARM] kmap support 2009-03-15 21:01:20 -04:00
nommu.c [ARM] use asm/sections.h 2008-12-01 11:53:07 +00:00
pgd.c [ARM] remove memzero() 2008-11-27 12:37:59 +00:00
proc-arm6_7.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm7tdmi.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm9tdmi.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm720.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm740.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm920.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm922.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm925.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm926.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm940.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm946.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm1020.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm1020e.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm1022.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-arm1026.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-feroceon.S Merge branch 'for-rmk' of git://git.marvell.com/orion 2008-10-09 21:33:07 +01:00
proc-macros.S [ARM] Remove MT_DEVICE_IXP2000 and associated definitions 2008-10-01 16:41:06 +01:00
proc-sa110.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-sa1100.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
proc-syms.c [ARM] 5364/1: allow flush_ioremap_region() to be used from modules 2009-01-12 13:51:03 +00:00
proc-v6.S Modern processors may need to drain the WB before WFI 2008-11-10 14:14:11 +00:00
proc-v7.S Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel 2008-11-27 12:42:48 +00:00
proc-xsc3.S [ARM] pxa: add base PXA935 support due to CPUID change 2008-12-02 14:42:40 +08:00
proc-xscale.S [ARM] Don't include asm/elf.h in asm code 2008-10-01 16:41:10 +01:00
tlb-v3.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
tlb-v4.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
tlb-v4wb.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
tlb-v4wbi.S kbuild: arm - use generic asm-offsets.h support 2005-09-09 21:08:59 +02:00
tlb-v6.S [ARM] 4129/1: Add barriers after the TLB operations 2007-02-08 14:49:27 +00:00
tlb-v7.S [ARM] 5227/1: Add the ENDPROC declarations to the .S files 2008-09-01 12:06:34 +01:00