今回はベースとなるファイルがあるので気を楽にして取り組むことにする。とりあえず手元に用意するものは、
- OpenBSDのglxpcib.c
- NetBSD-currentのhead tree
- OpenBSDのsys source tree
- AMD CS5536のデータシート
- 実機(ALIX)
# AMD Geode CS5536 PCI-ISA bridge
device glxpcib: isabus, sysmon_wdog, gpiobus
attach glxpcib at pci
file arch/i386/pci/glxpcib.c glxpcib
と追加。デバイス名はopenbsdと同じglxpcib。sysmon_wdog, gpiobusは後で説明するけれど、NetBSDのwatchdogおよびgpio busの共通部分のフレームワークを使うことを意味している。glxpcibはpciバス上にアタッチされて、ドライバの実体はglxpcib.cである、という意味になる。
これで、kernelのconfigurationファイルにglxpcibという名前が出てきてもconfigコマンドが処理できるようになる。configファイルには、
glxpcib* at pci? dev ? function ? # AMD CS5536 PCI-ISA bridge w/ GPIO and WDT support
gpio* at glxpcib?
isa0 at glxpcib?
を追加。pciバス上にglxpcibを生成して、その上にisaバスとgpioバスを生やす、という意味になる。
今回はALIXというconfigファイルをつくってそれで作業することにする。
で、おもむろにsrc/sys/arch/i386/confの下でconfig ALIX; cd ../compile/ALIX; make depend; makeなどと打ち込むとエラーメッセージがばりばりと出てくるので(あたりまえ)、それを見ながら今後の方針を考えて作業をする、というのが移植作業の一般的な進み方(だとおもう)。
というわけで、glxpcib.cをどうやって調理するかは続きで。
0 件のコメント:
コメントを投稿