• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Dancefire 的技术博客
Stay Hungry, Stay Foolish. - Steve Jobs
博客园 首页 新随笔 联系 订阅 订阅 管理

2006年3月2日

OS161 源代码阅读-2
摘要: 这回由启动时初始化的顺序分析涉及几个bootstrap函数的文件。/kern/arch/mips/mips/ram.cram_bootstrap()21 获取当前内存大小23-32 内存最大为508MB,因为由于mips体系的原因,超出这个大小,内存将不连续了。34 lastpaddr为内存最后一个字节的地址36-40 firstpaddr为firstfree-MIPS_KSEG0,firstfree为当前内核堆栈的栈顶42-44 打印cpu型号和内存可用值paddr_t ram_stealmem(unsigned long npages)66-67 size等于请求页数的字节数69-71 如 阅读全文
posted @ 2006-03-02 17:21 Dancefire 阅读(459) 评论(0) 推荐(0)
 
OS161 源代码阅读-1
摘要: /kern/arch/mips/mips/start.s系统开始引导于此。22-25 为了gdb的方便,留了20字节作为stack frame27-57 由注释得知,系统初始时,将一个引导字串放到a0中,并且将内核加载到0x80001000(物理地址0x00001000)中。 80000000将会是exception handler。_end是链接完成后,kernel的结束地址。59-64 将a0中的bootstring拷贝到_end后面,即将bootstring追加到kernel后面。66-71 计算出bootstring的长度,并且加上NULL的一个字节74-76 计算出以bootstri 阅读全文
posted @ 2006-03-02 13:11 Dancefire 阅读(625) 评论(0) 推荐(0)
 
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3