小華的部落格: Scratchpad Data Register

搜尋此網誌

網頁

星期三, 4月 16, 2008

Scratchpad Data Register

今天看MCH Spec看到一個有趣的暫存器叫做 SKPD--Scratchpad Data Register ,因為實在是很有趣的一個東西所以自己就寫下筆記來紀錄一下。

這個暫存器的屬性是R/W,而他的說明是可以用來儲存資料的一個暫存器,長度要看Chipset,有些是16 bits 也有些是32 bits。

那這個東西是幹麻的呢? 嗯...Spec上沒說明清楚,不過我自己查了一些資料以及比較了一些用法,發現這個暫存器可以給 【任何人使用】,且"Platform reset"後"可能"不會被清除資料。

簡單的說就是任何人任何程式碼都可以把一些想要紀錄的資訊往這個暫存器去紀錄,至於寫進去的值是代表什麼意思就只有寫的人知道。

目前看到應用的時機有3個:
1. Memory init 後可以利用他儲存一些狀態值,然後給下一次開機時檢查

2. 紀錄是否是Warm boot ,例如你可以在某個點去設定這個暫存器,然後在FFFF_FFF0一進去的點去判斷,假如此暫存器不為0 則在做一次CF9h 的Full reset,以避免一些問題。

3. ME Driver

以上都是自己猜測的,所以實際的用法還是要請教懂的人啦~~呵呵!

Reference
www.google.com
www.Intel.com

2 則留言:

匿名 提到...

你好,我是剛剛踏入BIOS的新人,有很多問題都不了解,可以請教你嗎?可以加我的MSN嗎?我MSN:sun.xiaowei@hotmail.com
謝謝

小華的部落格 提到...

修正一下,最近把這個暫存器的使用方式做了一些實驗,實驗後發現這個暫存器在斷電後會被清除為0,但是如果只是CPU Reset的話這個暫存器的值是會被保留的!

而目前應用範圍是某些IBV廠商會拿來當System Flag(P廠商是用CMOS,大家應該很熟悉吧!哈!)來判斷是Warmboot/coldboot。