linux/arch/arm/mm
Russell King dde5828f56 ARM: Fix broken highmem support
Currently, highmem is selectable, and you can request an increased
vmalloc area.  However, none of this has any effect on the memory
layout since a patch in the highmem series was accidentally dropped.
Moreover, even if you did want highmem, all memory would still be
registered as lowmem, possibly resulting in overflow of the available
virtual mapping space.

The highmem boundary is determined by the highest allowed beginning
of the vmalloc area, which depends on its configurable minimum size
(see commit 60296c71f6 for details on
this).

We should create mappings and initialize bootmem only for low memory,
while the zone allocator must still be told about highmem.

Currently, memory nodes which are completely located in high memory
are not supported.  This is not a huge limitation since systems
relying on highmem support are unlikely to have discontiguous memory
with large holes.

[ A similar patch was meant to be merged before commit 5f0fbf9eca
  and be available  in Linux v2.6.30, however some git rebase screw-up
  of mine dropped the first commit of the series, and that goofage
  escaped testing somehow as well. -- Nico ]

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Reviewed-by: Nicolas Pitre <nico@marvell.com>
2009-08-15 12:36:00 +01:00
..
abort-ev4.S
abort-ev4t.S
abort-ev5t.S
abort-ev5tj.S
abort-ev6.S Add core support for ARMv6/v7 big-endian 2009-05-30 14:00:18 +01: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
abort-nommu.S [ARM] 5227/1: Add the ENDPROC declarations to the .S files 2008-09-01 12:06:34 +01:00
alignment.c [ARM] 5540/1: 32-bit Thumb-2 {ld,st}{m,rd} alignment fault fixup support 2009-06-19 16:35:34 +01:00
cache-fa.S ARM: Add support for FA526 v2 2009-03-25 13:10:01 +02:00
cache-feroceon-l2.c [ARM] Kirkwood: small L2 code cleanup 2009-03-28 22:39:30 -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] 5488/1: ARM errata: Invalidation of the Instruction Cache operation can fail 2009-04-30 20:12:47 +01: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: add highmem support to L2 cache handling code 2009-03-15 21:01:21 -04:00
context.c Merge branches 'armv7', 'at91', 'misc' and 'omap' into devel 2007-05-09 10:41:28 +01:00
copypage-fa.c ARM: Add support for FA526 v2 2009-03-25 13:10:01 +02: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 Move FAULT_FLAG_xyz into handle_mm_fault() callers 2009-06-21 13:08:22 -07: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] 5488/1: ARM errata: Invalidation of the Instruction Cache operation can fail 2009-04-30 20:12:47 +01:00
highmem.c [ARM] kmap support 2009-03-15 21:01:20 -04:00
init.c ARM: Fix broken highmem support 2009-08-15 12:36:00 +01:00
iomap.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
ioremap.c omap iommu: simple virtual address space management 2009-05-19 08:23:49 +03:00
Kconfig Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel 2009-06-11 15:35:00 +01:00
Makefile Merge branch 'for-rmk' of git://gitorious.org/linux-gemini/mainline into devel 2009-03-26 23:10:11 +00: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: Fix broken highmem support 2009-08-15 12:36:00 +01: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-fa526.S ARM: Add support for FA526 v2 2009-03-25 13:10:01 +02: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-mohawk.S [ARM] pxa: add base support for Marvell's PXA168 processor line 2009-03-23 10:11:34 +08: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] export __cpu_flush_dcache_page 2009-07-05 15:25:00 +01:00
proc-v6.S Add core support for ARMv6/v7 big-endian 2009-05-30 14:00:18 +01:00
proc-v7.S Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-06-14 13:42:43 -07: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-fa.S ARM: Add support for FA526 v2 2009-03-25 13:10:01 +02:00
tlb-v3.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S arm: Use __INIT macro instead of .text.init. 2009-04-27 19:51:58 -07:00
tlb-v7.S Check whether the TLB operations need broadcasting on SMP systems 2009-05-30 14:00:14 +01:00