N-yagi PC ManiaX

マイクロコード問題

DP400のBIOSでは、CPUにマイクロコードが適応できないと起動するたびにエラーが出ます。
正直、面倒です。また、エラッタの改善がなされていないと言う、どうにもスッキリしない状態です。

この問題を解決すべく、まずはマイクロコードを探してみました。
と言っても、どこかのサイトに落ちている訳でもなく、ましてや、BIOSアップデートの履歴に一般的に書かれている物でも無い為、 探すのは大変かと思われましたが、これがアッサリ見つかりました。

SuperMicroの、XeonMPQuadマザー「P4QH6」があるのを忘れていた模様。 早速、BIOSをダウンロード。

AMIBCP.EXEでマイクロコード抽出し、バイナリエディタで眺めてみると、やはり見つかりました。
WcpuIDや、その他のツールで確認されたCPUID=「F/2/2」と、 何故かBIOSで表示されている「F/2/4」のコードを発見。

ここでは、インテルのCPU判別ツールで表示されていた「F/2/2」の物を抜き出し、追加してみる事にします。

DP400の最新BIOSをCBROMでチェックすると、「F/2/2」のマイクロコードは見当たりません。
*)コマンドは:cbrom.exe dp0809.bin /d
CBROM V2.01A (C)Award Software 1999 All Rights Reserved.

              ********   dp0809.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name 
================================================================================
  0. System BIOS       20000h(128.00K)135E6h(77.47K)DP0809.BIN
  1. XGROUP CODE       0D7D0h(53.95K)0932Dh(36.79K)awardext.rom
  2. CPU micro code    06800h(26.00K)0672Ah(25.79K)CPUCODE.BIN
  3. ACPI table        03BECh(14.98K)017ADh(5.92K)ACPITBL.BIN
  4. Other(4029:0000)  03490h(13.14K)01845h(6.07K)_EN_CODE.BIN
  5. EPA pattern       02D3Ch(11.31K)00382h(0.88K)iwillbmp.BMP
  6. PCI driver[A]     0DD2Eh(55.29K)08A41h(34.56K)82550.rom
  7. Flash ROM         082BEh(32.69K)04810h(18.02K)awdflash.exe

  Total compress code space  = 4B000h(300.00K)
  Total compressed code size = 33602h(205.50K)
  Remain compress code space = 179FEh(94.50K)

                      ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------
SLOT1  01   0F03  |  MOBILE 0B   0F04  |  MOBILE 08   0F05  |  MOBILE 04   0F07
MOBILE 04   0F06  |  MOBILE 06   0F09  |  MOBILE 11   0F0A  |  MOBILE 05   0F11
MOBILE 27   0F12  |  MOBILE 02   0F21  |  MOBILE 09   0F23  |  MOBILE 0C   0F24
MOBILE 25   0F27  |  SLOT1  0B   0F02  |

ここで、以下のコマンドで既存のマイクロコードを抽出。
cbrom.exe dp0809.bin /cpucode extract
デフォルトでは「CPUCODE.BIN」と言うファイルが出来るので、バイナリエディタで直接「F/2/2」のマイクロコードを追加。
また、オリジナルと区別する為にDP400のBIOS「dp0809.bin」の複製を「mp0809.bin」の名前でコピー。
そして、「mp0809.bin」のマイクロコードを新しい物に置き換えます。

まず、古いマイクロコードを削除。
cbrom.exe mp0809.bin /cpucode release
「F/2/2」のマイクロコードを追加した、バイナリを新たに挿入。
cbrom.exe mp0809.bin /cpucode CPUCODE.BIN
BIOSを書き換える前に、一応チェック。追加されているようです。それにしても、何故モバイル・・・
CBROM V2.01A (C)Award Software 1999 All Rights Reserved.

              ********   mp0809.bin BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name 
================================================================================
  0. System BIOS       20000h(128.00K)135E6h(77.47K)DP0809.BIN
  1. XGROUP CODE       0D7D0h(53.95K)0932Dh(36.79K)awardext.rom
  2. ACPI table        03BECh(14.98K)017ADh(5.92K)ACPITBL.BIN
  3. Other(4029:0000)  03490h(13.14K)01845h(6.07K)_EN_CODE.BIN
  4. EPA pattern       02D3Ch(11.31K)00382h(0.88K)iwillbmp.BMP
  5. PCI driver[A]     0DD2Eh(55.29K)08A41h(34.56K)82550.rom
  6. Flash ROM         082BEh(32.69K)04810h(18.02K)awdflash.exe
  7. CPU micro code    07000h(28.00K)06F0Fh(27.76K)CPUCODE.BIN

  Total compress code space  = 4B000h(300.00K)
  Total compressed code size = 33DE7h(207.48K)
  Remain compress code space = 17219h(92.52K)

                      ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------
SLOT1  01   0F03  |  MOBILE 0B   0F04  |  MOBILE 08   0F05  |  MOBILE 04   0F07
MOBILE 04   0F06  |  MOBILE 06   0F09  |  MOBILE 11   0F0A  |  MOBILE 05   0F11
MOBILE 27   0F12  |  MOBILE 02   0F21  |  MOBILE 09   0F23  |  MOBILE 0C   0F24
MOBILE 25   0F27  |  MOBILE 03   0F22  |  SLOT1  0B   0F02  |

実際にこのBIOSで起動してみたところ、成功しているようです。

Microcode Revision が 0003 になっています。パッチ充てが成功したようです。
また、BIOS起動も、パッチエラーで止まる事は無くなりました。

しかし、CPUIDは「F/2/2」で正しくパッチ充て出来ましたが、BIOSでは相変わらず「F/2/4」と表示。 困ったもんです。一応、ちゃんと動いているようなので良しとしましょう。



N-yagi PC ManiaX