[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:102317] Re: 組込Linuxドライバの作成方法


塩崎です。完全に余談でごめんなさい。


From: Yoshihiro Kawabe <ripula@xxxxxxxxxxxxxxx>
Subject: [linux-users:102306] Re: 組込Linuxドライバの作成方法
Date: Mon, 29 Mar 2004 03:08:05 +0900
Message-ID: <20040329.030731.41637627.ripula@xxxxxxx>

> 塩崎さん> ちなみに、デバイスドライバまわりの抽象化は NetBSD の成果を待つ
> 塩崎さん> 必要があります。
> 
> これは、現在進行形と言うことですね。

ごめんなさい、ちょっと誤解を生む表現でした。
「待つ必要がある」というのは「4.4BSD のころを基準にしたら」という意味でして、
今の NetBSD は、この辺に関してはほとんど完成した形になっています。

4.4BSD でもその片鱗はあって、4.4BSD 本の 14 章にちょっとだけ出てくる
「新しい自動コンフィグレーションフレームワーク」というものが
バスの抽象化に対して大きなインスピレーションとなっているのは確かです。

しかし、これは純粋にデバイス集成のための仕組みであって、
要するに「このデバイスはこのバスにつなげられる」というような
観念的なレベルの処理を行うだけのしくみでした。
したがって、実際にデバイスを叩く段ではあいかわらず outb とか
していました。4.4BSD の時点ではまだ目的の半分くらいしか
達成していなかったと言えます。

で、I/O ポートを叩くようなレベルの操作に対する抽象化は、
NetBSD-1.2 から 1.3 にかけて導入された bus_space(9) および
bus_dma(9) という仕組みによって達成されました。
NetBSD 使いでない人でも、このあたりは後学のために一見する
価値はあるでしょう。
# しかし、この辺に関して書かれた文章は、論文か manpage しかない。

これらの威力は、たとえば NetBSD/dreamcast の G2BUS-PCI ブリッジ
まわりの処理とか、NetBSD/playstation2 の HDD ユニットまわりの処理とか、
そういう「木に竹を接いだような」変なバス/デバイスで顕著に表われますね。


では。
--
Takuya SHIOZAKI / ASTEC, Inc.

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: