
linux-boot
文章平均质量分 79
coldsnow33
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
compressed/head.s __setup_mmu
__setup_mmu: sub r3, r4, #16384 @ Page directory size,r3 = 0x20004000 bic r3, r3, #0xff @ Align the pointer bic r3, r3, #0x3f00@ 这里r4中存放着内核执行地址,将16K的一级页表放在这个内核执行地址下面的16K空间里,@ 上面通过 sub r3,转载 2014-07-17 15:54:01 · 1328 阅读 · 0 评论 -
__create_page_tables
/* * Setup the initial page tables. We only setup the barest * amount which are required to get the kernel running, which * generally means mapping in the kernel code. * * r8 = phys_offset, r9 =原创 2014-07-21 17:42:15 · 1726 阅读 · 0 评论 -
ARM中MMU地址转换理解
MMU的段页表的虚拟地址与物理地址的转换过程转载 2014-07-19 12:33:42 · 3191 阅读 · 0 评论 -
linux命令 ld使用
使用ld********本文档介绍GNU连接器ld的2.14版本.本文档在GNU自由文档许可证下发行.在"GNU自由文档许可证"一章中有关于本许可证的一份拷贝.概述********'ld'把一定量的目标文件跟档案文件连接起来,并重定位它们的数据,连接符号引用.一般,在编译一个程序时,最后一步就是运行'ld'.'ld'能接受连接命令语言文件,这是一种用转载 2014-07-14 14:59:38 · 2606 阅读 · 0 评论 -
ARM linux解析之压缩内核zImage的启动过程 二
3. 。text段开始,先是内核解压地址的确定 再往下看,代码如下: .text#ifdef CONFIG_AUTO_ZRELADDR @ determine final kernel image address mov r4, pc a转载 2014-07-12 15:42:15 · 3564 阅读 · 0 评论 -
ARM linux解析之压缩内核zImage的启动过程 一
首先,我们要知道在zImage的生成过程中,是把arch/arm/boot/compressed/head.s 和解压代码misc.c,decompress.c加在压缩内核的最前面最终生成zImage的,那么它的启动过程就是从这个head.s开始的,并且如果代码从RAM运行的话,是与位置无关的,可以加载到内存的任何地方。下面以arch/arm/boot/compressed/head.s为转载 2014-07-12 15:36:44 · 1534 阅读 · 0 评论 -
Linux内核源码分析--zImage出生实录(Linux-3.0 ARMv7)
原文地址:Linux内核源码分析--zImage出生实录(Linux-3.0 ARMv7) 作者:tekkamanninja 此文为两年前为好友刘庆敏的书《嵌入式Linux开发详解--基于AT91RM9200和Linux 2.6》中帮忙写的章节的重新整理。如有雷同,纯属必然。经作者同意,将我写的部分重新整理后放入blog中。~~~~~~~~~~~~~~~~~~~~~~~~转载 2014-07-13 13:14:02 · 1061 阅读 · 0 评论 -
bootloader之little kernel
LK是什么 LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代码 ,little kernel 是小内核小操作系统。 LK 代码 在 bootable/bootloadler/lk 目录下 LK 代码结构 +app转载 2014-07-07 18:14:07 · 5273 阅读 · 0 评论 -
__v7_setup
.arm __HEADENTRY(stext) ARM_BE8(setend be ) @ ensure we are in BE8 mode THUMB( adr r9, BSYM(1f) ) @ Kernel is always entered in ARM. THUMB( bx r9 ) @ If this is a Thumb-2 kernel, THUMB( .th原创 2014-07-21 18:23:56 · 2211 阅读 · 0 评论 -
bl cache_on跳转的返回
bl cache_oncache_on: mov r3, #8 @ cache_on function b call_cache_fncall_cache_fn: adr r12, proc_types#ifdef CONFIG_CPU_CP15 mrc p15, 0, r9, c0, c0 @ get processor ID#else ldr r9, =C原创 2014-07-12 17:07:37 · 1176 阅读 · 0 评论 -
__proc_info_begin->__proc_info_end
/arch/arm/kernel/head.S/* * Look in for information about the __proc_info structure. */ .align 2 .type __lookup_processor_type_data, %object原创 2014-07-18 21:11:59 · 2022 阅读 · 0 评论 -
__vet_atags
内核参数通过一个静态的tag链表在启动的时候传递到内核。每个tag的结构为 +-----------+ tag_header +-----------+ tag_xxx +-----------+ 其中tag_header为tag头,表明tag_xxx的类型和大小,之所以要标识tag_xxx的类型是因为不同的tag需要不同的处理原创 2014-07-19 16:34:31 · 1159 阅读 · 0 评论 -
__lookup_processor_type
__FINIT .text/* * Read processor ID register (CP#15, CR0), and look up in the linker-built * supported processor list. Note that we can't use the absolute addresses * for the __proc_info li转载 2014-07-18 21:19:25 · 997 阅读 · 0 评论 -
ARM linux解析之压缩内核zImage的启动过程 三
ARM linux解析之压缩内核zImage的启动过程 B (转载) ARM linux解析之zImage镜像文件的生成 (转载)ARM linux解析之压缩内核zImage的启动过程 C (转载) 2014-04-03 16:32:19| 分类:Technology | 标签: |举报|字号大中小 订阅转载 2014-07-12 21:23:49 · 2166 阅读 · 1 评论 -
__enable_mmu
/* * Setup common bits before finally enabling the MMU. Essentially * this is just loading the page table pointer and domain access * registers. * * r0 = cp#15 control register * r1 = machi原创 2014-07-21 22:17:49 · 1282 阅读 · 0 评论