您的位置:首页 > 移动开发 > IOS开发

[我所知道的BIOS]->[Remaining POST Tasks] 11

2011-12-18 15:57 465 查看
转自:http://biosengineer.blogspot.com/2007/10/bios-remaining-post-tasks-11.html

除了之前所提的 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


標籤: 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
下午
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: