1 ================================= 2 Kernel Memory Layout on ARM Linux 3 ================================= 4 5 Russell King <rmk@arm.linux.org 6 7 November 17, 2005 (2.6.15 8 9 This document describes the virtual memory lay 10 kernel uses for ARM processors. It indicates 11 free for platforms to use, and which are used 12 13 The ARM CPU is capable of addressing a maximum 14 space, and this must be shared between user sp 15 kernel, and hardware devices. 16 17 As the ARM architecture matures, it becomes ne 18 certain regions of VM space for use for new fa 19 this document may reserve more VM space over t 20 21 =============== =============== ============== 22 Start End Use 23 =============== =============== ============== 24 ffff8000 ffffffff copy_user_page 25 For SA11xx and 26 setup a minica 27 28 ffff4000 ffffffff cache aliasing 29 30 ffff1000 ffff7fff Reserved. 31 Platforms must 32 33 ffff0000 ffff0fff CPU vector pag 34 The CPU vector 35 CPU supports v 36 register V bit 37 38 fffe0000 fffeffff XScale cache f 39 in proc-xscale 40 cache. (XScale 41 42 fffe8000 fffeffff DTCM mapping a 43 DTCM mounted i 44 45 fffe0000 fffe7fff ITCM mapping a 46 ITCM mounted i 47 48 ffc80000 ffefffff Fixmap mapping 49 by fix_to_virt 50 51 ffc00000 ffc7ffff Guard region 52 53 ff800000 ffbfffff Permanent, fix 54 firmware provi 55 56 fee00000 feffffff Mapping of PCI 57 mapping within 58 59 VMALLOC_START VMALLOC_END-1 vmalloc() / io 60 Memory returne 61 be dynamically 62 Machine specif 63 located here t 64 VMALLOC_START 65 of the high_me 66 is equal to 0x 67 68 PAGE_OFFSET high_memory-1 Kernel direct- 69 This maps the 70 maps all platf 71 72 PKMAP_BASE PAGE_OFFSET-1 Permanent kern 73 One way of map 74 space. 75 76 MODULES_VADDR MODULES_END-1 Kernel module 77 Kernel modules 78 placed here us 79 80 TASK_SIZE MODULES_VADDR-1 KASAn shadow m 81 The range from 82 of the memory 83 per byte of me 84 85 00001000 TASK_SIZE-1 User space map 86 Per-thread map 87 the mmap() sys 88 89 00000000 00000fff CPU vector pag 90 CPUs which do 91 place their ve 92 dereferences b 93 space are also 94 =============== =============== ============== 95 96 Please note that mappings which collide with t 97 in a non-bootable kernel, or may cause the ker 98 at run time. 99 100 Since future CPUs may impact the kernel mappin 101 must not access any memory which is not mapped 102 to TASK_SIZE address range. If they wish to a 103 must set up their own mappings using open() an
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.