Core2系CPUのerrata (4)
まだ続く。
今回はRHEL3系(linux kernel 2.4.21)カーネル向け。
修正箇所はRHEL4(linux kernel 2.6.9)と同様に以下。
@arch/i386/kernel/microcode.c:find_matching_ucodes total_size = get_totalsize(&mc_header); if ((cursor + total_size > user_buffer_size) || (total_size < DEFAULT_UCODE_TOTALSIZE)) { printk(KERN_ERR "microcode: error! Bad data in microcode data file\n"); + printk(KERN_ERR "microcode: skip Bad data\n"); + cursor += total_size; + continue; - error = -EINVAL; - goto out; }
モジュールのコンパイル手順が微妙に異なる。
# gcc -Wall -pipe -D__KERNEL__ -DMODULE -I/usr/src/linux-xxxxx/include -O2 -c microcode.c # rmmod microcode # insmod microcode.o
適用。
# microcode_ctl -f intel-ia32microcode-23April2007.txt # dmesg microcode: error! Bad data in microcode data file microcode: skip Bad data microcode: CPU1 updated from revision 0x44 to 0xc6, date = 03072007 microcode: CPU0 updated from revision 0x44 to 0xc6, date = 03072007
自動適用は前回書いた2.6カーネル用と大体同じなので省略。
HPのページにあるBIOSアップデートの方でも確認したけど、intel-ia32microcode-23April2007.txt
と同じでマイクロコードのリビジョンは共に0xc6だった。(X5140搭載のモデル)
取りあえずは安心かな。
http://h18023.www1.hp.com/support/files/server/jp/romtabl.html