2004-02-18 22:39:14 +0900 (1748d); rev 3
ファームウェアというのはパソコンで言う BIOS のこと。 モニタプログラムとも言う。 Alpha にはこのファームウェアが、大雑把に言って二種類ある。 SRM (System Reference Manual) と ARC (Advanced RISC Computing, 後に Alpha BIOS に改名) である。 → SrmConsole, ArcConsole
ARC はメニュードリブンで基本的に NT 用である。 SRM は完全に CUI で、Tru64Unix と VMS 用。 NetBSD/Alpha や FreeBSD/Alpha は SRM を使う。 Linux だけは SRM と ARC の両方からブートできるが、 SRM を使ったほうが明らかに安定する。
新しめの (あるいは高級な) Alpha マシンだと 両方のファームウェアを積んでいてコマンド一つで切り替えられるのだが、 XL シリーズなど、 NT 専用マシンとして作られたマシンは ARC しか積んでいない。
SRM から arc と打つと ARC にできる。 ARC から console なんたらというメニューを選んでいくと SRM にできる。
例えば NetBSD/Alpha は SRM からしかブートできない。 なぜこのような制限があるのだろうか。
根本的な原因は、ファームウェアは OS 起動後もメモリ上に (ある意味) 常駐しており、実行時に使われるからである。 Alpha 上の OS は二点でファームウェアに依存している。
Alpha のファームウェアには、 ファームウェア自身を操作するためのインターフェイスがある。 例えばコンソールから一文字入力するための GETC や SRM 変数を設定するための SET_ENV などがある。
詳細は AlphaConsoleCallback を参照。
Alpha にはハードウェア依存の操作を吸収する PALcode (Privileged Architecture Library code) というライブラリが用意されている。 例えばページキャッシュをクリアするとか CPU を halt するとか。 → PalCode
OSF/1 (Tru64UNIX) 用の PALcode と VMS 用の PALcode は SRM と一緒に入っており、 AlphaNT 用の PALcode は ARC と一緒に入っている。
Related Pages: AlphaArchitecture ArcConsole SrmConsole AlphaLinux Tru64UnixOnAlphaServerDs20e AlphaArchitectureReferenceManual LinuxOnDpw600au FreebsdOnAlphaStation600
system revision 1.162