辛い戦いだった…

ACPIのDSDTが02のデバイス(945G)のIRQは17番設定してあった。(ACPIのDSDT読む知識が役立つ日が来るとは…)

  Package (0x04)
  {
      0x0002FFFF,  → bus=02 のデバイス
      Zero, 
      Zero, 
      0x11 → IRQ
  }, 

Vistaの場合は、16になるように書いてあるのだが、Vista以外の場合はわざわざ場合分けして17番になるようになっている。どういう意図だろうか?

http://www.lesswatts.org/projects/acpi/overridingDSDT.php
この手順で修正したDSDTを使って完了。ただし、このカーネルは他では使えなくなる。

           CPU0       CPU1
  0:      12860          0   IO-APIC-edge      timer
  1:       2301          0   IO-APIC-edge      i8042
  9:        836          0   IO-APIC-fasteoi   acpi
 12:       5011          0   IO-APIC-edge      i8042
 14:          0          0   IO-APIC-edge      ata_piix
 15:          0          0   IO-APIC-edge      ata_piix
 16:       3836          0   IO-APIC-fasteoi   i915
 20:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
 21:         55          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2
 22:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
 23:          0          0   IO-APIC-fasteoi   uhci_hcd:usb5
 26:       3157          0   PCI-MSI-edge      ahci


あとはキーリピートか…あとフォントが少し足りてない。