Am79C970/0.mones2.1旧


Top / Am79C970 / 0.mones2.1旧

 このページは

EDS1275のページに書かれていたものを移動したものです。 求む/NICドライバからの続きです。

問題点とかメモ。

2006-04-21 (金) 20:47:06

mones2の直接の派生なので2.1です。 とりあえずやったトコまで。 Kernel、PCI、mkimgは それぞれ、本番ツリーの置き換え、追加ファイルです。

2006-04-16 (日) 21:26:13

svnで全部checkout.

等。やりたいとこまでまだ到達せず。また来週かな。

2006-04-16 (日) 11:59:56

実は太陽の国の住人なのでsvnは実家で動かしたいがsslのリンクに失敗する。 いたたたたた。svnを使う目的は

EDS1275が勝手に妄想するプロトコル鯖がexportするAPIとドライバメソッドの関係をテーブルに。

鯖のAPI対応するドライバのめそっど
ifcfg() loc.IP,mask,MTUなど設定init() MTU設定とか。時代はHPC2.0(恥)MTUはでかく
stat() netstat 相当。スレ情報を返すstat() 統計レジスタ読み出し
open() loc.Port,rem.IP,rem.Portを元にスレ立てシラネ
recv() データバッファを見て、データがあれば渡してreturn。バッファが空なら、driver::recv()呼び出しでブロックrecv() RX割り込みを処理後 return
send() driver::send()呼び出し後ブロックsend() TX割り込みでreturn
割り込みメッセハンドラ() ARP,ICMP,7とか13は鯖だけで適当に処理inthand() 割り込みの理由振り分け。RX->DMAバッファから上位層バッファへ変換して格納。適宜replyをする。TX->鯖の該当スレage.
close() 切断シーケンス(TIME_WAITになったりとか)シラネ

 -おまけ:独創を旨とするmona。いきなりIPv4は捨ててv6に行く(w 

2006-04-12 (水) 19:52:22

2006-04-09 (日) 11:41:11

↓これはKernel側いじって逃げるので後でご相談ってことでもいいです。

2006-04-08 (土) 17:56:33

2006-04-05 (水) 21:19:35

2006-04-02 (日) 18:33:34

2006-04-02 (日) 00:26:10

前者のメリットはISAでも使える。デメリットはページのフラグメンテーションが進んだ状態ではアロケート自体が出来ない可能性がある。後者のメリットはデバイスから上位層間のデータコピー回数が減らせる可能性がある。(メモリ管理機構を理解していないので、勘違いかも)

BSDのmbuf,w2kのMDLが参考になる。mbufは前者。MDLは後者と同じような気がする。

という二つということになると思います。 monapi_allocate_dma_memory()はおそらくISAデバイスのDMAを想定して低めのメモリアロケートを行うものであるようなので、最適ではない気がします。「普通に」上位層用にフレームバッファをアロケートして、そこへ(ページ毎で構わないので)DMAを掛ける方がいい気がしますがどうでしょう。PCIなら出来ますよね? その場合、物理アドレス取得するためのページディレクトリやテーブルをどうやって読むのかとか、そもそもDMAの動作について私の解釈があってるのか、識者のご意見を伺いたいです。

コメント

とりあえず打ち止め。

MENU

now: 5

リンク


最新の20件
2018-10-07 2018-09-20 2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-05-29 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 4083, today: 1, yesterday: 1

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:47:54 (3855d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.122 sec.