まず、T.Ogasawara さんのメールに書いてあった岩崎さんの ACPI の patch
次に kernel の config file の編集です。例のごとく cp GENERIC FIVA として FIVA という config file を編集しました。
5-CURRENT からは、irq や flag、disable 等を /boot/device.hints (以下ここでは、hints file と呼ぶことにします)で設定する様です。 hints file は、config file の中で指定できるようです。
/boot/device.hints を直接いじっても良いみたいなのですが、 直接いじるのは、ちょっとやだったので、FIVA.hint というファイルで 設定することにしました。具体的には、
hints "FIVA"と記述し、cp GENERIC.hints FIVA.hints としました。
結局、修正したファイルは、FIVA, FIVA.hints で具体的には、 次のような修正を行いました。
hints "FIVA"
device pcm
hint.fdc.0.disabled="1"
hint.sio.1.disabled="1"
hint.ppc.0.disabled="1"
hint.pcic.1.irq="11"
hint.pcic.1.disabled="1"
hint.sio.0.irq="4" -> hint.sio.0.irq="0"
hint.sio.1.irq="3" -> hint.sio.1.irq="0"
次に pccard を有効にするために /boot/loader.conf に
hw.pcic.intr_path="1" hw.pcic.irq="0"を加えました。
hint.apm.0.disabled="1"という行も消しました。が、これをコメントアウトすると acpi ではなく、apm が有効になり、うまく動きませんでした。 (気が付くのに 1 時間くらいかかりました....。無知とは恐ろしいですね...。)
最初、/etc/rc.conf では、
apm_enable="YES" apmd_enable="YES"としていたのですが、どうやら、apmd は acpi 上では動かないようです。 (まぁ、当り前ですが....。)よって現在は、
apm_enable="YES"のみを rc.conf の中に書いています。
ちなみに apm_enable="NO"
としてみたら、zzz で suspend
しなくなってしまうので、ご注意下さい。
(って、やるのは、私くらいなものかもしれませんが....)
FreeBSDのACPIではapm(8)やzzz(8)は正式には対応していません。あくまでAPM アプリケーションバイナリの救済措置として、APMの一部の機能をエミュレート しているだけです。
というご指摘を頂きました。詳しくは、 岩崎さんから教えて頂いたこと を御覧ください。