5月にトライしていたVIA VT8251 southbridgeのSerial ATA対応kernel問題。
「VT8251はkernel 2.6.20でfully supported」だと言われていながら2.6.20.4で動かず、少し前の2.6.17に甘んじていたのだが、起動オプションにpci=nomsiを付与する事で2.6.22.10でも動いた。
具体的には
kernel /vmlinuz-2.6.22.10 ro root=LABEL=/ rhgb quiet pci=nomsi
な感じ。毎回
grub起動時に「e」キーで編集モードに入ってkernel行に
pci=nomsiを入力するか、さもなくば
/boot/grub/grub.confの該当箇所にガッツリ書いておけばよい。
ちなみにMSI(Message Signaled Interrupts)は、PCIバスのメモリトランザクションとして配送される割り込みの事で、IOAPICにルーティングされリダイレクション・テーブル介してからCPUへ割り込み通知される仕組みだ。
その為、MSIが期待通りに動作しないようだと
libata version 2.00 loaded.
ahci 0000:00:0f.0: version 2.0
ACPI: PCI Interrupt 0000:00:0f.0[B] -> GSI 21 (level, low) -> IRQ 21
input: AT Translated Set 2 keyboard as /class/input/input0
ahci 0000:00:0f.0: AHCI 0001.0000 32 slots 4 ports 3 Gbps 0xf impl IDE mode
ahci 0000:00:0f.0: flags: 64bit ncq pm led clo pmp pio slum part
ata1: SATA max UDMA/133 cmd 0xFFFFC20000004D00 ctl 0x0 bmdma 0x0 irq 511
ata2: SATA max UDMA/133 cmd 0xFFFFC20000004D80 ctl 0x0 bmdma 0x0 irq 511
ata3: SATA max UDMA/133 cmd 0xFFFFC20000004E00 ctl 0x0 bmdma 0x0 irq 511
ata4: SATA max UDMA/133 cmd 0xFFFFC20000004E80 ctl 0x0 bmdma 0x0 irq 511
scsi0 : ahci
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
APIC error on CPU0: 00(08)
APIC error on CPU1: 00(08)
ata1.00: qc timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x104)
な結果に繋がるわけだ。