目次

FRB (Fault Resilient Booting) について

うちのC2750D4IのイベントログにFRB2/Hang in POST failureってのが記録されててナンジャラホイ状態だったので、FRBについて調べた。イソテル様の資料に書かれてることを、かいつまんで訳しただけですけどね。

FRBとは

FRB1)とはBMC2)に実装されるシステムブート失敗時に別のプロセッサで起動を試みる仕組みで、レベル1~3が定義されている。

FRBレベル1

POST3)中に検出されたBIST4)の失敗からの回復が目的。全てBIOSのコードで処理される。

BSP5)がシステムを起動した際、初期化に失敗したAP6)があれば、BIOSはそのAPを無効化するようBMCに要求し、BMCはそれに応じたMP7)テーブルを生成する。無効化されたAPはBIOSからもOSからも見えなくなる。

BSPがBISTに失敗した場合、BIOSはBSPを切り替えるようBMCに要求する。BMCは現在のBSPを無効化し、別のBSPが見つかればシステムをリセットして処理を継続する。見つからなければ、ビープ音を鳴らしてシステムを停止させる。

FRBレベル2

POST中のウォッチドッグタイムアウトからの回復が目的。このウォッチドッグタイマーはBMCに実装される。

BMCの第2ウォッチドッグタイマー(FRB-2)は約6分にセットされ、システムのBIOS POSTの完了を保証するよう設計されている。FRB-2タイマーはFRB-3タイマー無効化の前に有効化され、未監視時間が発生しないよう考慮されている。POSTの終盤、オプションROMの初期化前に、BIOSはFRB-2タイマーを無効化する。

POST中にシステムがハングした場合、BIOSはタイマーを無効化せず、それによりBMCがASR8)を発生させる。

FRBレベル3

ハードリセットまたは電源投入時のウォッチドッグタイムアウトからの回復が目的。本レベル用にハードウェアの機能として備わっている。

第1ウォッチドッグタイマー(FRB-3)はシステムがハードリセットされた時からカウントダウンが始まり、通常は約5秒である。BSPのリセットが成功し実行が始まると、BIOSはFRB-3タイマーを無効化し、システムはPOSTを継続する。

BIOSコードのフェッチや実行がBSPの障害で行えずタイマーが切れると、BMCはシステムをリセットし失敗したプロセッサを無効化する。正常なプロセッサが見つからなければ、BMCはビープ音を鳴らす。

参考サイト

1)
Fault Resilient Booting
2)
Baseboard Management Controller
3)
Power On Self Test
4)
Built-In Self Test
5)
BootStrap Processor
6)
Application Processor。BSPに選定されなかったプロセッサ
7)
Multi Processor
8)
Asynchronous System Reset