Lines Matching refs:kernel
35 segmentation of the kernel memory space. We use this feature to avoid having
36 to use page-tables to map the physical memory into the kernel's address
38 map during kernel-mode, so that the kernel easily can access the corresponding
41 As a comparison, the Linux/i386 2.0 puts the kernel and physical RAM at
44 map through. That changed in 2.2, putting the kernel/physical RAM at
50 The kernel-mode segmentation map:
54 | kernel seg_f | flash | |
57 | kernel seg_e | flash | |
60 | kernel seg_d | =======> | |
63 | kernel seg_c |==\ | |
66 | kernel seg_b |=====\=========>| Registers |
73 | kernel seg_0 - seg_a | \==>| DRAM |
97 The kernel needs access to both cached and uncached flash. Uncached is
101 The kernel also needs its own virtual memory space. That is kseg_d. It
102 is used by the vmalloc() kernel function to allocate virtual contiguous
111 ( seg_d, page ) | // kernel vmalloc area
112 ( seg_c, seg ) | // kernel linear segment
113 ( seg_b, seg ) | // kernel linear segment
146 a fault before we have had time to jump into the real kernel segment (0xc0). This
147 is done in head.S temporarily, but fixed by the kernel later in paging_init.
167 in the Linux kernel.
216 and contains the kernels virtual mappings (the kernel itself is not paged - it
218 kernel segments like the i386, need to setup swapper_pg_dir directly in head.S
219 to map the kernel itself. swapper_pg_dir is pointed to by init_mm.pgd as the
223 kernel's internal paged memory system, vmalloc/vfree.
227 The vmalloc-system keeps a paged segment in kernel-space at 0xd0000000. What
230 the kernel's page-table using alloc_area_pages(addr, size).