ドライバ開発 NetBSD のデバイスドライバ 機種依存部(MD)と非依存部(MI)に分離している すでに MI がある場合は MD を書くだけでよい bus_space 関数によるバスアクセスの抽象化 map, read, write, subregion … wdc ドライバ (MD 部) 実際の処理はすべて MI がやってくれる MD は capability や割り込みの設定のみ wdc_isa.c を cp して、コードをがしがし削る 拡張ポートバス用ドライバ bus_space 関数 stride 処理 - "sparse address space access" g2bus_*.c を cp して、必要なものを追加