关于linux内核入口和入口参数

boot_linux_from_flash


//启动内核
entry(0, machtype, tags);

 

//对应kernel/arch/arm/boot/compressed/head.S中的代码如下
start:
  .type start,#function
  .rept 8
  mov r0, r0
  .endr

  b 1f
  .word 0x016f2818  @ Magic numbers to help the loader
  .word start   @ absolute load/run zImage address
  .word _edata   @ zImage end address
1:  mov r7, r1   @ save architecture ID
  mov r8, r2   @ save atags pointer
  
 bootloader:
 关于启动TAGS
 /* ATAG_MEM */
 *ptr++ = 4;
 *ptr++ = 0x54410002;
 *ptr++ = SDRAM_SIZE;
 *ptr++ = SDRAM_ADDR;
 
 kernel:
Setup.c (kernel/arch/arm/kernel)
 
static int __init parse_tag_mem32(const struct tag *tag)
{
 return arm_add_memory(tag->u.mem.start, tag->u.mem.size);
}

__tagtable(ATAG_MEM, parse_tag_mem32);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值