2017年8月15日 星期二

[UEFI] iSPD+ v 0.1

我的第一支UEFI Shell程式是透過 SMBUS 來讀取記憶體的 SPD值,並將 SPD 值做解析,讓使用者可以很容易的閱讀,想一想也是 2010 年的事情了,那時候也是甚麼都不懂,就是一股衝勁而已。
後來在使用的時候,開始發現一些設計上的問題,畢竟一開始只訴求功能,壓根沒去想後續維護阿,彈性等方式 ... 所以間接搞到自己,因此才想說,乾脆重寫一隻,且考慮到伺服器等多記憶體的架構,讓畫面呈現可以更彈性點 ...
但還沒寫完就是了,故先記錄一下。

[ 2021.09.01]

1. 要來 K 新的 DDR5 Jedec Spec 了 .... 用 ADL-S 來驗證看看 !

功能:


1.      畫面重新設計過,更直覺,且能支援更多根記憶體的顯示。
2.      支援 DDR4 記憶體,並提供 Page 切換功能。
3.      支援 Server CPU 記憶體讀取,多顆 CPU 支援。
4.      支援更多記憶體廠商資訊。
5.      支援存圖功能。

v0.2
1.  新增部分 Jedec ID 資訊,並解決當 Jedec ID 不支援時,程式會當掉的問題。
2. 修正自動開啟 SMBUS Controller 的 Command Byte。
 

目前只支援 64Bit 的 Shell。

解壓縮密碼 : FoxBloger

點我下載 v0.1 
點我下載 v0.2


[UEFI] iGPIO+ ,提供快速取得 GPIO 資訊的工具。

最近寫的一個在 UEFI 下的程式,功能是可以觀看 Chipset 的 GPIO 組態,主要是希望在偵錯的時候可以用比較快的方式取得這些資訊,畢竟新晶片組的GPIO存取方式真的是給他 ....
多樣化 XD,也希望大家在使用上如有問題的話也不吝賜教,讓工具可以進化 ^^

目前支援的晶片組:
1. BayTrail
2. Apollo Lake
3. Denverton
4. SKL/KBL PCH and ULT
5. Intel 300 series PCH (Cannon Point)
6. AMD V1000 SoC
7. Intel 400 series PCH (Comet Lake PCH H/LP/V)
8. Intel Elkhart Lake SoC
9. Intel 600/700 series PCH (ADL-S / RPL-S)

預計支援的晶片組:
1. etc ...

目前只支援 64Bit 的 Shell。

修改紀錄:

v2.0.0 - 2022.05.13
1. 支援 Alder Lake / Raptor Lake 對應的 600/700 series PCH。
2. 修正 IO/MEM 存取程序,解決新平台無法動作的問題。
3. 支援 Shell v2.0。

P.S. 更改取得 P2SB base 的方式,避免因 P2SB PCIE controller 被隱藏而取不到位置。

v1.2.4 - 2021.08.13
1. 支援 Elkhart Lake SoC。

v1.2.2
1. 支援 Comet Lake 對應的 400 Series PCH H/LP/V。
2. 修正 PCH 300 GPIO D Group 暫存器位置錯誤問題。

v1.2.1
1. 支援 Coffee Lake 對應的 300 Series PCH。
2. 支援 AMD Ryzen Embedded V1000 SoC。

v1.2.0
1. Realtime status 使用多頁顯示(APL Only)。
2. 將 GPIO 的 Base 與 Port ID 同步顯示到即時窗。

v1.1.1
1. 支援 SKL/KBL PCH and SoC

v1.1.0
1. 支援 Denverton SoC
2. 支援快速鍵 "S",可快速切換 GPIO 的 TX/RX 狀態。

v1.0.1
1. 第一次釋出。


解壓縮密碼 : FoxBloger or Fox1234

點我下載 v1.0.1
點我下載 v1.1.0
點我下載 v1.1.1
點我下載 v1.2.0
點我下載 v1.2.1 
點我下載 v1.2.2
點我下載 v1.2.4
點我下載 v2.0.0 



[UEFI][SHELL] homefilesystem Variable for record current Startup.nsh FS location

  如果系統有一個以上的 FS# 存在,以往會透過Shell Script 的方式,來尋找執行 startup.nsh 的 FS 位置,但近期的察看shell的source code,其實shell內部已經有考慮到此情境,因此會根據starup.nsh被執行的位置,自動建立一個v...