摘要:
初始化pg_data_t->bdtat结构体, 将不同node的bdata添加到以bdata_list为首的链表。 标记所有的bitmap位为1。 /* * Called once to set up the allocator itself. */ static unsigned long __i 阅读全文
摘要:
static unsigned long __init bootmem_init_node(int node, struct meminfo *mi) in arch/arm/mm/init.c 1.1 根据内存信息重新映射页表,此处为低端内存的线性映射 -->map_memory_bank(ban 阅读全文
摘要:
遍历各个pg_data_t节点。 1.定义在include/linux/nodemask.h中 for_each_node_state根据宏开关有不同的定义 2.MAX_NUMNODES 定义在include/linux/numa.h中 而CONFIG_NODES_SHIFT定义在不同板子的arch 阅读全文
摘要:
该函数设置mem_types结构体数组,结构体定义如下: struct mem_type { unsigned int prot_pte; //二级页表属性 unsigned int prot_l1; //二级映射中的一级页表属性 unsigned int prot_sect; //一级页表属性,只 阅读全文
摘要:
参考:atags--__vet_atags标签 arch/arm/include/asm/setup.h 1 /* 2 * linux/include/asm/setup.h 3 * 4 * Copyright (C) 1997-1999 Russell King 5 * 6 * This prog 阅读全文
摘要:
start_kernel -->asm-offset.h 生成 -->proc_info_list -->machine_desc -->__vet_atags -->cpu位图 -->setup_arch -->parse_tags -->命令行参数处理1 -->paging_init -->bu 阅读全文
摘要:
转自:https://blog.csdn.net/linglongqiongge/article/details/50008301 http://www.cnblogs.com/wendellyi/p/3993404.html 关键文件:arch/arm/kernel/asm-offsets.c a 阅读全文
摘要:
参考:程序员的自我修养 阅读全文
摘要:
1.解压缩内核阶段,对整个4G的虚拟内存做1:1映射,只一级映射,一个页表项对应1MB,共4096个页表项,一级页表占用16KB内存空间。 2. 解压后,打开MMU之前.映射当前执行的指令所在地址pa的1MB的地址。映射KERNEL_START~KERNEL_END间的地址到pa起的物理地址 3. 阅读全文
摘要:
启动阶段初始化控制台流程分析, 这里主要分析如何执行initcall_t函数, 看看_con_initcall_start~_con_initcall_end间定义了哪些函数, .con_initcall.init属性的函数在该代码段中, console_initcall宏定义的函数在该代码段中,看 阅读全文