Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1024428
  • 博文数量: 238
  • 博客积分: 2842
  • 博客等级: 少校
  • 技术积分: 2765
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-16 00:20
个人简介

stdlf

文章分类

全部博文(238)

文章存档

2013年(6)

2012年(13)

2011年(82)

2010年(89)

2009年(48)

我的朋友

分类:

2011-07-04 22:42:48

除了之前所提的 tasks外,还有下列 main tasks是 BIOS POST会执行的:

[USB init]
=> initialize USB的部份.这方面的code几乎是 kernel code,再加上少许的 chipset code(因为,chipset's USB controller是哪一种需要 customize, Ex. OHCI or UHCI...etc).

主要在 implement USB spec的部份(USB 1.1/2.0 and USB legacy). (天书也...没看过...)

[KB init]
=> init KBC的部份

[HDD init]
=> 这是 locate IPL(Initial Program Load)的code.因为最终系统需要 load OS,而OS是存在 storage device中,因此需要让storage....动起来 !

主要的工作有:
- 设定 chipset端的 storage controller(PATA or SATA)'s settings
- identify HDD
- config HDD by set-feature(<-设定 device端的 settings)

这样一来,controller端与 device端有了 "相同的认知" 后,就可以 access HDD了 ! 

[ACPI]
=> 主要是将所有的 ACPI tables建至 memory中;让ACPI OS可以 parse & config.

[Boot-to-OS]
=> 最后 BIOS's 工作是: invoke int19h(for Boot-strap) !此中断服务程序会尝试去找 boot device,并从中(storage)将 boot-loader 载入至 memory中;然后跳到 boot loader处,开始执行加载OS的工作 !


* 一但进入OS后,与BIOS会有关的....几乎只剩 ACPI 了 !

BIOS不是鸡肋 ^_^ 
张贴者: Harrison Hsieh 于 3:43 上午   
标签: BIOS相关 
4 意见: 
 
匿名提到... 
上班时间只能大概看了一下您的大作.
说真的..看了实在是很感动..
弟刚夸进来这个领域一个月..
很多东西都不甚了解..有机会..
真的希望可以好好请教一下..
嗯..晚上再上来看啰..
谢谢您的大力分享心得.. 
十月 17, 2007 7:43 下午  
 
Harrison 提到... 
欢迎你加入这个行业,有问题大家在互相讨论吧^^ 
十月 17, 2007 10:08 下午  
 
恰吉 提到... 
想问你你在程序俱乐部问过的问题说~
有关IO TRAP中Phoenix services的方法
还有到底啥叫Phoenix services?
有TOPIC可以看吗,跟INTEL的方式有什么差别呢~CODE跟PATH都TRACE过了,想知道理论一点的东西说~
MNS:chagigi@msn.com 
一月 17, 2008 10:42 下午  
 
Joe 提到... 
大大,请问您对USB部份的了解有多深?
想要在DOS 下去驱动USB Device,但对Host端的Program 没什么Idea..
可否给些建议? 
二月 11, 2009 11:37 下午  
张贴意见 

阅读(1071) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~