ディバイスドライバを ..
[2ch|▼Menu]
450:login:Penguin
05/06/29 22:17:33 OM3Tds/i
>>448
Kernel2.4.27のソースしか見てないので違ったら失礼。

>マイナー番号を100 120 140 160としました。
これがよくわからん。デフォでは192から16個を順番に割り当てるようになってるが、それをわざわざいじったってことか?
そうなると、スケルトンをあちこち変更してあるのだろうから、さすがにソース無いとなんも判らん。

451:login:Penguin
05/06/29 22:32:06 rSbPN/4/
>>449
アレ買え。馬の絵の描いてあるヤツ。

高くても我慢しろ。読めば安いと思うようになる。
絶対買え。とにかく買え。12冊買え。たくさん買え。

452:login:Penguin
05/06/30 09:52:01 6k+4MtMc
12冊=たくさん

納得した

453:login:Penguin
05/06/30 11:24:58 9CZUZn2O
なぜ12冊なのかちっとも納得いかないんだが

454:login:Penguin
05/06/30 11:25:42 J4A9ru3W
たくさんだからだろう

455:Artane. ◆o6gE1yuDGM
05/07/04 07:22:47 Y9u/GUb1
2.6.13で又モジュール周りのAPIが変わりそうな悪寒…
drivers/base/class_simple.cがまるごとなくなってる…そこのAPIを使ってる URLリンク(www.linuxant.com) のx86_64用のHSFモデムドライバがそのままでは動かない状況に(;´Д`)
その前はACPI絡みでデッドロックがかーねるにあって動かなかったし、どうなってるんだろうヽ(`ー´)ノ
しかもライセンスがプロプラなのでどーすりゃいいのか頭が痛いです。

456:login:Penguin
05/07/07 22:10:08 DftqFJii
2.4はcc -o hoge.o -c hoge.cするだけでokだったけど
2.6はmakeファイルを書かないとダメになった。
はぁ、マンドクセ

457:login:Penguin
05/07/07 22:51:04 Hy9t4ICF
URLリンク(japan.linux.com)
ここの一番下に書いてあるのなら楽だろ。簡単に再利用できるし。

458:login:Penguin
05/07/08 11:00:44 9KK2lDyF
obj-m := unko.o
の1行でよくね?

459:login:Penguin
05/07/24 15:33:14 02p0TYUx
USBのドライバ書いたことアルヤツいる?

460:login:Penguin
05/07/28 21:47:52 3ylo+PR7
>>459
2.4.0testカーネルの時やってたなぁ
ストレージ関係がクラスドライバでないときは動かすのに苦労したよ
USB Snoopyで解析したりして

461:login:Penguin
05/07/31 16:37:19 0Amwd3lA
カーネル2.6.xのSMPの wait_event_interruptible でしつもんです。

起こされる要因をビットであらわすようにして
起こされたあとに flag &= ~FLAG; として
起床要因をクリアしたいです。そこで、

wait_event_interruptible(wq, !(flag & FLAG) );
tmpflag = flag; // ◆1
// ★
flag &= ~FLAG; // ◆2
if( tmpflag & ・・・

としていたのですが、割込が運悪く★のところに来たときに
次回起床要因flagを割込ルーチンで設定された直後にクリアしてしまいます。
◆1と◆2をアトミックに処理するのに割禁使うのも大げさな気がします。

どうしたらよいでしょうか? (><)教えて!

462:login:Penguin
05/08/18 13:31:44 wsNIgIg1
ご存知の方がいたら教えて頂けないでしょうか?

printk の動作に関してなのですが、たとえば、ドライバの登録の際に

int init_module (void) /* Loads a module in the kernel */
{
    printk("Hello kernel \n");
    return 0;
}

などと printk を使い、(X-Window は起動しないで)コンソールで

# insmod filename.o

を実行すると Hello kernel とコンソールに表示されるはずなのですが、
表示される場合と表示されない場合があります。実際には、
ほとんどの場合は表示されず、表示されるのは数十回に1回程度です。

そもそも 「printk はコンソールに *必ず* 出力するわけではない」
のでしょうか?どうなのでしょう?

463:login:Penguin
05/08/18 14:45:51 AA5MGziJ
>>462
ほんとうに\nを入れたのか

464:login:Penguin
05/08/18 14:47:24 zqtjM++q
>>462
ほんとうにコンソールなのか

Xterm とかじゃないだろうな。

465:login:Penguin
05/08/18 14:54:07 zqtjM++q
X-Window は起動せずにって書いてあったな。 すまそ。

printk() は中で register_console() されたドライバの ->write() を
直接呼んでるから必ず出力されるよ。

出ないとするとログレベルの設定かな。
頭に "<1>" とかつけるといいのでは?

466:462
05/08/18 18:10:38 wsNIgIg1
レスありがとうございます。

>>463
\n は入れてあります。
\n を入れるのと入れないのでは違いがあるんですか?

>>465
出力されるときと出力されないときがあるんですよ。

でも、起動のたびにログレベルが変更されるというのは考えにくいし…

467:login:Penguin
05/08/18 18:35:47 spRqn48O
flushされていない or 
同じメッセージなので纏められているのでは?(この場合、last message repeated xxx times とでる。)

468:login:Penguin
05/08/18 20:41:10 cWStGfHc
>>466
ログファイルに吐かれていればメッセージレベル。
出てなかったら改行だろう。

>>467
コンソールに出る方はまとめてくれない。


469:462
05/08/19 09:09:08 qyuoI/lN
>>467, 468
/var/log/message には出てます。
改行もしてるんだけどなぁ。

どうもよくわからないので、あきらめることにしました。(^^;

お忙しいところ、レスありがとうございました!




470:login:Penguin
05/08/19 22:08:36 ZOCJz/g6
/etc/syslog.conf に
kern.* /dev/console
とか書いてあるか?

471:462
05/08/22 13:16:52 nvUzxFpI
>>470
を! /etc/syslog.conf の kern.* /dev/console が
コメントアウトされています!
なるほど、これを有効にすると確実に表示されそう
ですねぇ。

今、ハードが客先に行ってしまったので
確認できないんですけど、ハードが戻ってきたら
試してみます。

ありがとうございます!


472:login:Penguin
05/10/22 01:07:43 EmofMJka
やべえ、カッコイイ......デバイスドライバ自分で書いてる人たち......。
Cは一通り入門程度のことは覚えたけど、遊びでstdio.h使うことばっかりで入門の領域出てないんですよね、僕。
Linuxにも入って間もないからシェルスクリプトの使い方もまともに知らないからLinuxプログラミングなんてまだまだ....。
お馬さんの本、大学の図書館にありましたねー、ぱらっと見たけどさっぱり......。

473:login:Penguin
05/10/22 17:23:49 0rh+z8HN
デバドラ本第3版の和訳もう出てるのね。
洋書を見つけてレジに持っていこうとするも、ふと横を見ると書棚にありました

474:login:Penguin
05/10/23 03:10:35 JQc1kDtY
>>472
努力でどうとでもなる
まぁ頑張れ

475:login:Penguin
05/10/23 06:34:02 TRsS2wCF
SMPな環境で、あるAという区間とBという区間があるとき
そこを走行するCPUをひとつだけにして、
かつAとBを同時に走らないようにしたい。

最速で処理できる区間ではspin_lock_irqsaveを使ってもいいけど
ちょっと時間を食いたい処理のときには割り禁にしたくない/出来ない。
こういうときってセマフォを使うんだっけ?

あと、誰かがそこを走行してたら、待たずにあきらめる処理も
どうやるのかいまいちわからんです。

476:login:Penguin
05/10/23 07:17:36 TyUzTsLn
っ[MUTEX]

477:login:Penguin
05/10/24 11:41:52 y/bnKz7N
futex

478:login:Penguin
05/10/24 21:00:03 qab5z916
insmod hello.o
が出来ません....
bash: insmod: command not found
と出てしょっぱなから弾かれました....。
FC4を入れているのですが、ぐぐったところKernelのバージョンが
上ってからサポートされなくなった(?)のようなことがかいてありましたが...
ちょっとわからないです..。

479:login:Penguin
05/10/24 21:41:23 nHBdU4lq
>>478
module-init-toolsが入っていない。
なんて事はまずありえないので、パス通っていないだけだろう。


480:login:Penguin
05/10/25 01:26:16 boXSHzJM
っ[/sbin/insmod]

481:login:Penguin
05/10/25 01:50:35 mHOxbI49
$ su -
passwd:
#

482:login:Penguin
05/10/25 07:29:46 gtGeQ0F/
モジュールに挑戦する前にやるべきことがあるだろう。

483:login:Penguin
05/10/27 22:32:36 5z/EqZNh
みなさん、返事が遅れてすみません....。
何日ものぞいていませんでした。
どうやら、おっしゃる通りパスが通っていないようでして、
あれから、/sbin/insmod [filename]
を試してみましたがなんだか、だめだ!のようなメッセージが表示されて
しまい、無理でした。Linuxのデバイスドライバのプログラミングは
BIOSレベルでのデバイスドライバを書くときの参考にもなるかと
思ったのですが、やっぱりLinuxを初めてあまりたっていないのに
背伸びをしすぎたようです。出直してきます。
御回答いただいた方々、ほんとうにありがとうございました。:-)

484:login:Penguin
05/10/28 05:51:31 gqZeSigl
      │
      │
      J

  ∩_∩   ∩_∩
 (  ・(ェ)・) (・(ェ)・  )
エサクマか?   違うクマよ、
         あわてて食いつくと面倒なことになるクマ。

485:login:Penguin
05/10/28 08:53:26 iWNW3bFs
>>483
いえいえ是非また来て下さいね><
御町して檻ます><

486:483
05/10/30 22:20:06 kv9dDPbi
やっとできました!
>>167さんのレスのようにお馬さん初版第二章の一番最初のなーんにもしない
モジュールのソースに追加することでロードすることができました。
試しにカーネルソースのmodule.hを見てみるとメッセージでライセンスが無いといわれた経緯から
MODULE_LICENSE (license)の定義をみつけ、それをキーワードにぐぐったらこれを追加するような
記述をみつけることができました。
カーネルバージョンが2.4.1以降からこうなったようなことがinsmodのmanページにあったので一気に解決しました。
たぶん、insmodが認識されなかったのはKterm上からやろうとしたからですね....
嬉しい!


487:login:Penguin
05/10/30 22:27:05 dxIdqW+o
>>486
よくやった!

とりあえず、今の状態を登山に例えるなら
登山用品店の自動ドアが開いたあたりだな。

488:login:Penguin
05/11/19 17:12:54 mr3HUTh9
2.4から2.6へポーティングしててkoができるまで行きました。
chrdevなんですけどudevの仲間に入る方法がわかりません。
2.4のころのように直接的にmknodしてinsmodするものなのでしょうか。

489:login:Penguin
05/11/24 19:13:51 tUhrvxEF
ageようよ。

490:login:Penguin
05/11/25 02:45:31 Y8mPXznM
質問なのですが、回路の方は勉強しておられますでしょうか?

491:login:Penguin
05/12/08 03:07:19 B0ejvBgu
ちょっと質問させて下さい。
ノートパソコンを使っているんですが、マイクとスピーカーの位置が近いのでサウンドドライバの
読み込み時からサウンドミキサーが起動して音量設定するまでの間にハウリングしたりするんです。

そこで、サウンドドライバ読み込み時にマイクをミュートにしたいと考えたのですが、
例えばドライバの中にマイクの初期音量を0にするコードを追加したりするようなことは可能なんでしょうか?
# スレ違いでしたら誘導お願いします。

492:login:Penguin
05/12/08 10:11:04 j53o+rA9
ageようよ。

493:login:Penguin
05/12/11 18:47:51 rh+AeURO
はじめまして。
Windows対応のRS232C->USB変換ケーブルを使って、スイッチャを
LINUXのPCで制御しようとしているんですが、そもそもドライバを
自分で作る必要があるのでしょうか?
LINUXの環境はOSがRED HAT 9でカーネルは2.4です。
もしくは必要かどうかを確認する方法ってあるのでしょうか?
ご存知の方がいらっしゃいましたら、答えていただけないでしょうか?
よろしくお願いします。

494:login:Penguin
05/12/11 21:37:52 ZmBeQHZx
>>493
自動認識されないか??
suse10だと自動で使えた
けどBreak信号遅れなくてヒデブだった

495:493
05/12/13 02:44:01 bCmTAm2t
>>494
お返事ありがとうございます。
/var/log/messagesでログを見たら、新しいUSBデバイスが認識できている
っぽいことが書かれてました。
たぶんRS232C->USB変換ケーブルは認識できてると思います。
で、早速プログラム組んでスイッチャに信号を送ってみたんですが、
これがうんともスンとも言わなくて。
もしかして変換ケーブルだけ認識しててスイッチャは認識していないかも
って考えたのですが、シリアル通信だから信号を送るだけなら送れますよね?


496:login:Penguin
05/12/13 21:07:28 sg6goQTn
/dev/ttyUSBの読み書き許可がなかったよ

497:色情前世鑑定士
05/12/13 23:49:52 xAfc4hOf
>>495
ボーレートとかあってますよね?
sttyとか使って動作中のUSBシリアルの各設定を
観察・設定してみるといいかもしれません

498:login:Penguin
05/12/17 23:06:34 oosooT9i
>>496,497
助言ありがとうございます。
パーミッションに関してはchmod 666を実行したので、大丈夫だと思います。
ボーレート他の初期設定は、少し自信がないのですが、他のシリアル通信
のプログラムを参考にして一通りプログラム内で設定しています。
sttyで確認するというのは知らなかったので、早速やってみたいと思います。
ありがとうございます。

499:login:Penguin
06/01/28 02:19:52 eIqcEw8I
馬本買った記念age

500:login:Penguin
06/01/28 02:22:46 eIqcEw8I
ageて無かった…orz

501::login:Penguin
06/01/28 13:24:51 z02En7Mn
tky007lip10.iij.net [210.130.172.193]


502:login:Penguin
06/02/06 00:56:30 gxgsnq8Z
age

503:login:Penguin
06/03/19 20:02:53 wmRM5297
URLリンク(www.doodoo.ru)

504:login:Penguin
06/03/21 02:41:04 wxAXo3DG
SMPプログラミングの入門ページとかありませんかね?
どちらかというとAの処理をCPU0に割り当ててBの処理を1に
って感じで分けながら処理するタイプのプログラミングなので
ASMPのほうがよいのですがこのような話題はどこで聞けばよいのでしょうか

505:login:Penguin
06/03/30 20:19:25 P2MixPUa
なんか誰も見てないような気もするけどちょっと質問

Redhat ES4(kernel 2.6..9-11 x86-64)
CPU Xeon 2.8G(HT-on EM64T)
メモリ4GB
な環境で、SCSI Low level driverを書いてるんですが、
物理メモリ4GBしかないのに、SCSI Mid levle driverから
渡されてくる転送アドレス(物理アドレス)が4GBを超えた
アドレスが渡されて来ます。
当然メモリ未実装エリアのアドレスなので転送しようにも
出来ない訳でSCSIカードが転送しようとしてエラーとなり
ます。
pci_set_dma_msakに指定している値は、SCSIカードがサ
ポートしてるアドレス範囲の40bitを指定しています。
これを32bitマスクにすると4GBを超えるアドレスは来な
くなるんですけど、もしかしてpci_set_dma_msakて実装メ
モリ量も気にしなければいけないんでしょうか?
馬本見てもそんな事書いてないし。たんにハードウェアの
アドレス範囲を宣言するだけと認識してるんですけど。
何方かご存知の方居られたらご教授願います。


506:login:Penguin
06/03/31 11:41:12 zMWwd0XE
適当に書いてみる。
他のドライバ見たらわかるけど、実装メモリは気にしない。

pci_dma_syncなんたらが失敗するの?

507:login:Penguin
06/03/31 21:18:57 OpI/WZIP
おお見てる人がw

実装メモリはカーネルが握ってるから本来気にする必要が無いのは
分かってるんですが、そのカーネルから来るアドレスが実装容量を超
えたアドレスを通知してくるので悩んで降ります。

pci_dma_syncでなくpci_map_sgで作られたスキャッタ/ギャザーリスト
の中の物理アドレスが未実装領域のアドレスを指してる感じですね。

pci_set_dma_maskで32bitマスク(0xffffffff)してやればpci_map_sgで
作られたスキャッタ/ギャザーリスト内のアドレスは4GB未満のアドレ
ス範囲で収まる感じです。(当然といえば当然)
それを40bitマスク(0xffffffffff)にすると、実メモリ4GBしか無いにも
関わらず32bit以上、40bit未満のアドレスがスキャッタ/ギャザーリス
トに含まれてしまいます。
カーネルのバグを疑い出して、カーネルソース追い始めた所でなの
で実際にアドレス作り出す所まではまだ追いきれて無い状態です。

ご指摘の通り他のSCSI系ドライバのソースも参考にしてますが、実
装メモリなんて気にして無いしなんとも不可解…。

元々Solarisのドライバ作ってたんだけど、Linuxは今回初でかなり困っ
てる状態ですorz

508:login:Penguin
06/03/32 02:19:11 9G03KeUN
また別の人が適当に書いてみる。
hugemem使ってみては?

509:login:Penguin
06/03/32 10:42:43 afhcBPMx
hugememってi386じゃなかったっけ?

x86_64で4G載ってるって事は、IOMMUとか関係あるのかな。
結局virt_to_bus(pci-nommu.c)かvirt_to_phys(pci-gart.c)呼んでるから、
scatterlistのpageが期待しない値なんでしょうけど、そこら辺調べたらいいのかな。

ドライバいじったことはあるけど、書いたこと無いので適当です。

510:login:Penguin
06/03/32 10:47:55 shKEnT0S
似たようなドライバの中身を調べてみればすぐわかりそうなものだが

511:login:Penguin
06/03/32 15:12:47 afhcBPMx
>>510
俺もそう思って、見たけどわからなかったw

SCSI側からと、PCI側から見たら、よくわからなくなった。。
bioがよくわからん。
pci_set_dma_maskって要するにbounceするかどうかなのか?
あとは、ページ確保するときのDMA/DMA32の切り分け。

512:login:Penguin
06/03/32 16:46:33 p6EHT8/a
うぉレスが増えてる。

>>508
hugemem は、>>509 が指摘の通り、x86_64では無いですね。
ただこのドライバは、一つのソースでRedhat ES4の 32bit Uni-processer/
SMP/hugemem kernelとx86-64 kernelの4種類サポートでして、実装メモリ
12GBのマシンでhugememカーネル使ってる分にはアドレスは正常な値が
返って来てます。
hugemem kernelとx86-64 kernelではDMAアドレスは64bit幅で来るのでこ
の二つのカーネルの時は処理(アドレス計算とか)は共通にしてます。

>>509
正にそうです。scatterlistに入ってるpageが明後日の所を指し示してるので、
そのままSCSIカードに送るとカード上のIOPのファームがアクセスに行くとメ
モリが無いのでメモリアクセスエラーを検出します。

>>510
SCSIカードと言うか実はRAIDコントローラでして、カード上にPCI-PCIブリッ
ジが乗っかっててIOPとSCSIコントローラが載ってるカードです。
カード−ドライバ間はI2Oで通信してて、近い奴としてはmagariadとかqla1280
当たりなんですよね。他にも色々見てるんですが違いはそうは無い感じ。

>>511
bioはいまいち良く分からないですね。
ページ確保の時のDMA/DMA32て、GFP_DMA/GFP_DMA32フラグの事でし
ょうか?
今使ってるカーネルをみるとGFP_DMA32が未定義でして、kernl-2.6.14とか
2.6.15とか見ると定義されてるんですよね。
なんかその辺も絡んでるのかなと気にはなってはいました。

皆さんアドバイスありがとうです。
もう少しカーネルソース見て来ます。

513:login:Penguin
06/04/04 08:20:23 0xn4pI8o
気になるから、どうなったか知りたいです。

514:login:Penguin
06/04/04 13:11:55 p7vmOtaT
>>504
sched_setaffinity(2)


515:login:Penguin
06/04/06 22:28:49 Mnqgo3eJ
>>513

まだ色々と追っかけてる途中です。
とりあえずPCIドライバ周りから追っかけ中です。
PCIドライバを見た限りでは、pci_map_sgすると中でdma_map_sg
呼び出しててその中見てもあんまり大したことしてなさそうですね。
やはりbio周りも見ないと駄目なのかも。
もうちとかかりそうですが、わかり次第、結果をお知らせします。


516:505
06/04/08 14:24:03 +mDmSXuo
原因わかりました。
結論から言うと、pci_map_sg()で作られるSGリストのアドレスは正常でした。
問題なのはpci_map_single()で出てくるアドレスが、低位メモリだとカーネル
論理アドレスを返し、高位メモリだとカーネル仮想アドレスを返してるのが、
原因でした。

高位メモリだとページをダイナミックに確保されるため、物理アドレスとペー
ジが1:1でマッピングされないので、pci_map_single()だとvirt_to_physしてる
だけなので使えませんね。

なのでpci_map_pageで確保してやれば問題は消えました。

SGリストに変なアドレスが入ると言ってましたが、カードのファーム側で受
け取ったリストを見てたのですが、カード内でドライバから受けた転送アドレ
スをカード内部のバッファに結びつける為にファームが独自にSGリストを
再構成しており、そのリストがpci_map_sg()で作られた物と勘違いしてまし
た。OTL

色々アドバイスありがとうございました。


517:login:Penguin
06/04/08 16:09:33 MBAxFSYD
>>516
解決おめでとうございます。
一般的に使えそうなものならまたどこかで公開してくださいな。

518:login:Penguin
06/04/10 22:36:55 C69QC/MM
>>516
よかったよかった。
私もソース読んで少し勉強になったよ。
ネットワーク系しかいじったこと無かったから。

519:505
06/04/10 23:00:56 9eFrvNz6
>>517 >>518

ありがとうございます。
馬鹿高な価格の独自のカード用のドライバで有用性はかな
り低いです。。。一応GPLなんですが、カード買わないと非
公開という阿保な方針らしいので、一般公開は難しそうです。

Linuxでの初開発で手探り状態でしたが、お蔭様で何とか目
処が立ってきた感じです。まだ細かな問題がありますが…。

Linuxでの開発はカーネルや他のドライバソース読まなけば
資料が少ない所がキツイですね。
まぁコード上のテクニックとか色々勉強になる部分は多いけ
ど、納期のある仕事でやるのは大変ですね。

流石UNIX板だけあって、建設的なスレで助かりました。

520:login:Penguin
06/04/10 23:42:28 Cs5Rh9+Y
>>519
> Linuxでの開発はカーネルや他のドライバソース読まなけば
> 資料が少ない所がキツイですね。

ちょっと教えてください。
Linuxより資料が多いOSってなんのことを指してますか?
自分は主にLinuxの開発に携わってますが、いつもオープンソースのありがたみを
感じながらやっているので、Linuxが資料が少ない、というのは意外です。

521:login:Penguin
06/04/11 00:42:17 KjDgNH9L
OSによっては中身がさっぱりわからないままドライバ開発しなきゃいけない事もあるしな。
つーか、そっちのほうが多そう。

522:login:Penguin
06/04/11 00:47:03 rZUiZ4e7
>>520
NetBSDはそういう部分のmanpageが充実してるとか聞きますな。
linuxはmanpage書き上げたら実装が別物になってたなんて笑えん状況がありそうだなあ…


523:login:Penguin
06/04/11 00:57:41 9nKANwAS
そこでmain treeにマージですよ。
main tree内の変更はたいていは面倒をみてくれる。

524:login:Penguin
06/05/11 18:07:51 PmwpTb/Y
ある内蔵デバイスのドライバでPCの機種毎に処理を変えなければいけない部分が
あり、ユーザ負担を減らすためにドライバ側で自動判別したいと思っています。
機種は違うのにSubvendorIDやSubdeviceIDまで何故か一致しているので、SMBIOS
のDMI情報を参照して機種を判別したいのですが、これって可能なんでしょうか?
そんなやり方は行儀が悪いとか、他にもっとまともなやり方があるとか何でも
構いませんので、どうかご教示をよろしくお願いします。m(__)m

525:好色少年のススメ
06/05/11 23:43:06 Uu/mTCgT
確かに行儀はよくないかも
新しいハードが出るたびにパッチ提供とか考えたら面倒だし
たとえそれが自社ハードだとしてもバージョンアップあるだろうし
判別はユーザランドで行う方が気分も楽だし処理も楽だしバグも少ない

526:login:Penguin
06/05/26 20:11:11 YiUMorw/
URLリンク(lkml.org)


527:login:Penguin
06/08/20 01:06:14 BobpEKad
カーネル層のモジュールのテストプログラム
を作ってるんですが、カーネル層でinit_moduleや
ioctlからスレッドを起こして daemonのように
動作させることってできるんでしょうか?

Linuxデバイスドライバを読んでもスレッドを
起こすような処理は載っていないようなので
参考書籍だけでも教えていただけるとありがたいです。

528:login:Penguin
06/08/20 11:29:13 EWXtKjUy
>>527
kernel_thread
daemonize


529:login:Penguin
06/08/20 20:55:18 bg2sTV9e
というか、普通に載ってるよね

530:login:Penguin
06/08/24 12:55:11 6WITQjoc
そいや、最近のノートPCには指紋センサーがあるけど

あれはハックできるものなの?

531:login:Penguin
06/08/24 13:34:05 wKY4BjAS
>>530
OSM 8月号に記事載ってたよ。
URLリンク(shop.sbcr.jp)

532:login:Penguin
06/08/25 00:34:04 CPHGcnDi
>>531 せんきゅー!

533:login:Penguin
06/08/26 07:37:08 F4NpQAPn
>>529
すみません。ページご存知でしたら教えてください。
第3版持ってます。


534:login:Penguin
06/10/04 21:49:48 EGTQjLn1
すみません、どなたかわかる方教えてください。

現在、XFree86でグラフィックドライバを作ってます。チップは独自のものです。
バス等に接続されておらず、メモリマップドI/Oでアクセスします。

一応画面は出たのですが、1024*768だと縦が半分しか表示されず、
(縦に圧縮される感じ。マウスカーソルが縦につぶれている)
1280*1024だと画面が横に5個くらい表示されてしまいます。

使用しているチップは1ライン4096byte固定なので、解像度に応じて次のラインを
描画するアドレスを更新しなくてはなりません。
カーネルのFBドライバだとline_lengthとかの変数に設定してあげればうまいこと
描画してくれるのですが、XFree86の構造体にはそういった変数が見当たりません。

カーネルFBドライバのline_lengthとかに相当するものはどれでしょうか?

縦に圧縮されるのと画面が5個くらい表示されるのは、別問題な気がしてます。
今、手元にソースがないんですが、InitをするときにvirtualYを*2してやると縦が一見
正常っぽく表示されました。カーソルとかが縦につぶれたままなので、根本対策には
なっていません。

535:Mr.名無しさん
06/10/09 16:36:24 OGKR436u
■■■■■■■■■■■■■■■■
■                     ■  違う板にコピペすると、四角の枠の中に
■                     ■  メッセージとURLが現れる不思議な絵。
■                     ■
■                     ■  (その仕組みがリンク先に書いてある)
■                     ■
■                     ■  この原理を応用すると、まったく新しい
■                     ■  コピペが作れる予感。
■■■■■■■■■■■■■■■■




536:login:Penguin
06/11/05 18:18:15 j6ZWju7f
>>534
グラフィックチップのモード設定を間違えている予感

537:login:Penguin
06/12/14 22:35:16 JyAlagq8
すみません どなたか助けて下さる方はいらっしゃらないでしょうか?
当方PCIデバイスのドライバをLinuxデバイスドライバ読みながら
作成しております。

今DMAを用いてread,writeさせようと思っているのですが、
うまく転送ができておりません。
DMA転送の関数としては

dma_buff = kmalloc( count, GFP_KERNEL | __GFP_DMA)
  bus_addr = pci_map_single( pci_dev, dma_buff, count,
direction );

flags = claim_dma_lock();
disable_dma(channel);
clear_dma_ff(channel);
set_dma_mode(channel, mode);
set_dma_addr(channel, bus_addr);
set_dma_count(channel, count);
enable_dma(channel);
release_dma_lock(flags);
てな感じです。
get_dma_residueで転送できてるかどうかみてるのですが
まったく転送されてないみたいです。
DMAコントローラのレジスタの設定とかは
ほかに何かいるのでしょうか。
ちなみにターゲットのPCはPen3 800MHZ
チップセットは815です。
どなたかお知りの方いらっしゃったら お願いします。


538:login:Penguin
06/12/15 11:02:30 Qc0JIFW5
>>537
見ているものがまったく違っているような気がしますが。
PCIでbus master転送したいんじゃないの?


539:537
06/12/15 15:20:46 NJleqqJR
おお、早速のレスありがとうございます。

DMA転送するにはチップセットの中の8237DMAコントローラをいじればいいって思ってました。バスマスタについて少し調べましたが、IDEのDMAもバスマスタになるんですね、知りませんでした。

となるとこのバスマスタはどうやればいいのでしょうか?参考になるものでもいいので、教えてください、お願いします。

540:login:Penguin
06/12/15 23:40:00 72pQobUh
ターゲットとなるPCIデバイスの仕様がわからなきゃデバイスドライバは書けないよ
せめて型番だけでも出してくれ

541:login:Penguin
06/12/16 18:42:01 wkeveW0d
ドライバというか、モジュールの話なんですけど
スレッドを使ったせい?なのか、psすると
3635 pts/0 R 0:00 modprobe hoge
と残るんですが、これは出ないようには出来ないものなんでしょうか?
勿論 rmmod hoge すると消えるんですけど。


542:537
06/12/17 19:34:20 BtOAund7
ターゲットのデバイスは内製のボードなのですよ orz
となると やっぱボード自体を作った人に聞いたほうがいいのかな?

543:login:Penguin
06/12/17 19:50:10 pl1Ns6BC
チップのレジスタ仕様と、制御のシーケンスがわからないとドライバは書けないよ。

544:login:Penguin
06/12/17 20:36:37 6E+xGodr
>>542
当然聞くべきなのですよ

545:login:Penguin
06/12/17 22:08:40 SVqrrgVr
チップも内製なのか?
だったらデバイスドライバもチップ開発チームが書くものだよな
少なくともサンプルコードの類は書くはずだ

そうでなくて市販のチップを使ってPWBAだけ内製したのなら
使用したチップのデータシートなりプログラマーズガイドなりを読めばいいだけの話

546:537
06/12/18 01:17:23 5wopQO2S
ほぼ内製だったと思います。
ちょっと月曜日会社いったら、聞いてみようと思います。
大変参考になりました、ありがとうございました。

ところで、これは単なる質問ですが、
マザボのチップセットにある8237とかの
DMAコントローラは古いし遅いみたいだから
PCIとかIDEとかに使われてないみたいだけど、
Pen3 800MHzとかでも PIOのが早いの?

547:login:Penguin
06/12/18 07:35:08 a8xYea1H
最近のデバイスで言うDMAはバスマスタDMAのことだよ。
バスマスタってのはデバイス側が主導権とってバスを制御して
CPUの頭越しにメインメモリにデータ出し入れすることだ。
そのためにはデバイスにバスをのっとってデータ転送しろって命令を
CPUからデバイスに発行する必要がある。

その手続きを知るためにレジスタなりデータシートなりを調べろって
みなさん言ってるんだよ。

548:537
06/12/19 00:01:59 2Sv0wv+g
なるほろ、大変勉強になりました。
ハード屋さんからマニュアルゲットして
がんばってみます。


549:login:Penguin
06/12/19 23:53:27 g20RCuxU
>>537
URLリンク(www.oreilly.co.jp)


550:login:Penguin
06/12/27 05:38:58 krfJbXj5
すみません ドライバでDMA転送するための連続したメモリ領域(64MB)を確保したいのです。
kmallocで確保可能な連続したDMA領域は最大128kB ということはネットで検索すると出て来たのですが、
どうすればドライバのDMA転送で利用可能な128kBを超えるの連続領域を確保出来るでしょうか?
OSはlinuxカーネル2.6です。
ご存じの方おられましたら御教示戴きたくよろしくお願い致します。

551:login:Penguin
06/12/27 10:51:31 mQ5aQPBa
>>550
とりあえずそのふざけた石を投げ捨てれ。

やるならalloc_pagesだろうなあ。そのサイズで連続領域を簡単に確保できるとは思えんが。
ついでに書いておくと128KByte制限は8237の呪いなのでPCIならそんなものはない。



552:login:Penguin
06/12/27 12:43:43 krfJbXj5
投げ捨てぇー…れないorz

>>551
早速ありがとうございます。
検索してても思ったのですが、
なんか連続領域"64MB"っていうのは常識外れっぽいのですね…
とはいえ組込み系で使った独自ロケットI/OのPC向け転用の必要があり、
石を投げ捨てる訳にもいかず今回の質問とあいなりました。
alloc_pages、試してみます!!

回答感謝いたします。
センキュー!!!!

553:login:Penguin
06/12/28 02:29:39 4Oi09t3r
かなり強引だけど、カーネルオプションで使用メモリ量に制限かけといて、
未使用領域を作った上でそこ使っちゃえば?

554:login:Penguin
06/12/28 12:33:40 vc2Jrznf
>>553
MMUの面倒は誰が見るですか?

面倒な世の中になったのう…
物理アドレスで完結してりゃなにも考えなくていいのに。


555:login:Penguin
06/12/29 09:28:41 JbqPlaTm
>>553
アドバイスありがとうございます。
ちょっと恐いですが、検討してみます。

>>554
MMU…よく判ってません…勉強してきます。
ご指摘ありがとうございます。

いろいろレスありがとうございました。
スレの皆様が良い年越しを迎えられますように!!
それでは、また来年!!

556:login:Penguin
06/12/29 10:44:35 PkRb73AX
RocketIOってことはXilinxのFPGAだよな
だったら128KBのブロックのアドレスポインタリストを渡すと
自動的にリスト通りブロックをたどって転送するように
FPGA回路を再設計するのがまっとうな手段だろうな

デバイスドライバやOS設定の変更ではどうにもならんと思う

557:login:Penguin
06/12/30 00:07:40 SZb58Bld
カーネル組込みで、ドライバ初期化のときなら確保できそうな気もするな。
開放したら二度と確保できなくなりそうだが。


558:login:Penguin
07/01/01 22:05:23 uXbHjsPd
明けましておめでとうございます。

さらにレス&アドバイスありがとうございます。
うー勉強不足。知らないこと多過ぎますね!ハードル高いです orz
安定化まで考えると更にハードル上がりそうですが、ハード側とも相談してみます。

それでは本年もよろしくお願いいたします!!

559:login:Penguin
07/01/19 00:41:46 xhnZtOc/
皆様に聞きたいのですが
当方Linux 2.6カーネルの元でドライバの開発を行っています。
起動してからinsmodでインサートするタイプのモジュールを作っています。
カーネルをフリーズさせたりして固まらせてしまって、やむなくリセットボタンを
押す事が多々あるのですが、その際にファイルシステムのチェックが
強制的に行われてしまい、これでかなりの時間をロスしてしまいます。
何とかこのファイルチェックを飛ばして時間の短縮を行う方法はないでしょうか?

VMwareとかの仮想マシンを使えばいいのかもしれませんが、
特殊命令を使っておりますので、仮想マシンがその命令をサポートしていないために
導入できません。

560:login:Penguin
07/01/19 02:15:30 VcfRHkiI
>>559
mount -o remount,ro /
とかやって、書き込み不可にしてから遊べばよくね?

561:login:Penguin
07/01/19 08:04:16 /YcMJPuk
/etc/fstabの6番目のフィールドの値を0にする。man fstabしてみそ。
tune2fsで-c 0とかもしておいたほうがいいかも。


562:login:Penguin
07/01/19 20:24:37 xhnZtOc/
>>560
でもそれをやると、kmallocをGFP_KERNELで使ったときに
メモリがスワップアウトしたらまずいことになりませんか?

>>561
やってみました

なんかファイルチェックをしなくなったことで壊れそうでもありますが
やっぱり我慢してチェックしたほうがいいでしょうか...

563:login:Penguin
07/01/20 19:48:34 3aq4dRUa
>>562
/だけ守ればいいので、なりません。

564:login:Penguin
07/01/21 01:23:20 QaYT7DDq
>>563
ああそうか、swapファイルはswapパーティションですもんね
ありがとうございます

565:login:Penguin
07/01/27 11:05:03 4J9B+fMX
評価機はネットブートさせてNFSroot稼動させればいつ飛んでも
大丈夫な環境にできるんじゃない?


566:login:Penguin
07/02/05 06:03:38 9i1Bwf6u
通常、Linuxのドライバをインストールする時はカーネルにパッチを当ててカーネルごと
コンパイルしなければいけないけど、Windowsのようにカーネルソース無しでドライバを
コンパイルしてインストールできるようにする方法ってあるの?

567:login:Penguin
07/02/05 06:26:04 9i1Bwf6u
Wikipedia項目リンクには
現在のカーネルではモジュールをカーネルの構築状態に依存する事なく追加できると
書いてあるけど、カーネル側でインターフェースが変更になった場合は旧ドライバは
使用できなくなるんじゃないの?それとも、カーネル側で旧インターフェースが温存されるの?
あと、「カーネル側に受け皿となるインターフェースがモジュール毎に用意されている必要がある」
Linuxはどのバージョンまでなの?

568:login:Penguin
07/02/05 06:56:37 Zi/ATtvA
>>566
いまはそんなことしなくていいよ
insmod rmmodで動的にドライバを挿入したり削除したりできる

569:login:Penguin
07/02/06 01:26:43 j3mwrUGC
いやぁソースはいるだろ。

570:login:Penguin
07/02/06 08:59:25 jQKQh5/W
ソースはいるけどカーネルのリビルドはいらない

571:login:Penguin
07/02/06 10:27:34 Rm04tDsq
いやぁリビルドは途中までいるだろ。

572:login:Penguin
07/02/10 16:03:43 XWBlzb1u
初歩的な質問ですがよろしいでしょうか

私はlinuxカーネル2.6.13のモジュールでhello worldのプログラムを組込みたいのですが上手くいきません

gcc -c module.c -Wall -Wstrict-prototypes -O -pipe -m486

この様にコンパイルしたのですがカーネルのソースコードに構文エラーがあるようでコンパイルが通りません
カーネルのソースコードを見てみても構文エラーらしき物はみられませんでした
どうすればコンパイルが通るでしょうか

エラーメッセージとソースコードを書いておきます

ソースコード
URLリンク(sakuratan.ddo.jp)

エラーメッセージ
URLリンク(sakuratan.ddo.jp)

573:login:Penguin
07/02/10 17:14:52 d+hexa9D
>>572
普通はMakefile書くわな


574:login:Penguin
07/02/10 17:47:20 a+8l3AD+
Makefileに
obj-m += module.o
って書いて
make -C /usr/src/linux M=$PWD modules

575:login:Penguin
07/02/10 19:18:09 XWBlzb1u
>>543

そうみたいですね
私のみた資料では、そうコンパイルする様に書いてあったのですが結構古い奴だった
のでしょうか

>>574

本当にありがとうございました。
その方法で無事にモジュールを作れました

感謝感謝


576:542
07/02/10 19:55:09 XWBlzb1u
.koってファイルが出てきたらからinsmodにかけてみたら
insmod: error inserting 'module.ko': -1 Invalid module format

って言われワラタ
turbo linuxなんて微妙なの使ってるせいなんですかねこれは.....

577:542
07/02/10 20:03:22 XWBlzb1u
今までsage忘れてたごめん

578:login:Penguin
07/02/10 20:06:01 791EznrY
話題提供時はage、その後はsage
ってのが一番角が立たない。

正直、どうでもいいけど。

579:login:Penguin
07/02/10 20:14:38 a+8l3AD+
/usr/src/linux が今動いてるカーネルソースじゃないとか

580:542
07/02/10 21:33:23 XWBlzb1u
>>579

そうですね
元からあったソースでコンパイルしようとすると必要なMakefileがないとかで無理
でしたから、kernel.orgから同じバージョンのコード落してきてまた設定しなし
いた訳ですがそれが原因ですかね。

ディストリとかは独自の変更を加えているらしいし、また変更が加えられていない
純粋なカーネルインストールしてから出直してきます



581:login:Penguin
07/02/18 23:17:11 PxJoV1oA
すみません。kmallocで確保したメモリ領域をDMA転送するために、__paで変換して
渡してやるのと、dma_map_singleで変換して渡すのと、違いはあるのでしょうか?
たとえば性能(処理効率)が違うとか? どう使い分けているのでしょうか?


582:login:Penguin
07/02/19 10:56:01 QHwPPpDN
UNIXTIMEを日付文字列に変換するのに なんかAPI用意されてないの?
"2007/02/19 12:34:56" とかその程度のでいいんだけど。

583:login:Penguin
07/02/19 11:19:53 I/jMKPR3
strftime

584:login:Penguin
07/02/19 13:52:20 QHwPPpDN
>>583
いや、デバイスドライバ内でなんだけど、あったっけ? いや、ない。

585:login:Penguin
07/02/21 07:53:48 Wuryqsb6
Linux 2.6.16用のパッチとe2comprを同時に使いたいのだが、e2comprは2.6.10用まで
しかない。カーネルとドライバが完全に分離され、カーネルバージョンが上がっても
カーネル側の旧インターフェースが温存されるようになれば、ドライバの開発が停滞しても
最新のカーネルでそのドライバを使い続ける事ができる。

586:login:Penguin
07/02/22 01:34:45 I6i5DnCh
そのカーネル側のABI決めようぜ話はLinusに一蹴されてるんじゃなかったけ?


587:login:Penguin
07/02/22 09:14:42 y9d4aAAQ
>>586
カーネル側のドライバとして旧バージョンのカーネルのモジュールをロードできる
ラッパーを作成して、カーネル側インターフェースが変更されるたびにラッパーを
更新していく手もあるべ。

588:login:Penguin
07/02/22 09:16:48 y9d4aAAQ
ラッパーにx86エミュレーションを追加するとザウルスでWindowsのドライバを読み込めたりもする。

589:login:Penguin
07/02/22 22:34:24 I6i5DnCh
つ NDISwrapper


590:login:Penguin
07/02/23 00:44:11 cxn/yRhr
つcapative ntfs

591:login:Penguin
07/04/03 00:09:41 3ycIJVku
<linux/module.h>が無いんだけど、
デバドラ開発するには、なにかパッケージ追加しなきゃいけないの?

使ってるのはfedora6

592:login:Penguin
07/04/03 00:24:35 3ycIJVku
yum install kernel-devel
してもダメだな。何が足りない?

593:login:Penguin
07/04/03 00:41:11 xSB1c0Df
>>591
カーネルソースそのものじゃね?

594:login:Penguin
07/04/03 01:00:14 3ycIJVku
>>593
あ、カーネルソースに有った。ありがとう。

普通、/usr/includeには入らないの?

595:login:Penguin
07/04/03 01:08:21 3ycIJVku
あと、
man printk
って出ないの?

596:login:Penguin
07/04/03 02:25:43 xSB1c0Df
>>595
出ないんじゃよ

597:login:Penguin
07/04/03 02:43:03 GYgStP3Z
>>594
カーネル用ヘッダと、ユーザプログラム用ヘッダは
まざるとまずいから分離されてる。だから/usr/includeにカーネル用ヘッダはふつうは無い。

598:login:Penguin
07/04/04 00:07:01 NkZt7NAi
/usr/include/linux に入ってないか?鳥にもよるけど。


599:login:Penguin
07/04/04 00:15:23 wyW6RdvI
カーネル用ヘッダと、ユーザプログラム用ヘッダがまざると、何でとまずいだろ。

600:login:Penguin
07/04/04 00:23:08 ICf0Aql0
爆発しても知りません。

601:login:Penguin
07/04/04 00:42:58 IK0cizpI
>>598,>>599
/usr/include/linuxにあるのは確かにカーネルのヘッダだが、glibcをビルドするときに使った
アーキテクチャ依存部分とかのカーネルヘッダ、
/usr/src/linux/includeにあるのは「現在使用中のカーネル」のヘッダファイル
だよね。(間違ってたらスマソ)

これらが同じだとちょっとカーネルに変更があったときとかまずくない?
最悪glibc動かなくなるときもあるかと。

602:login:Penguin
07/04/08 00:07:55 gmHS+Fdj
>>17 をコンパイルするとエラーがたくさん出るんだけど何が悪いの??

エラーの一部

/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/asm/bitops.h:244: error: expected ‘=’, ‘,’’, ‘asm’ or ‘__attribute__’ before ‘int’
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/thread_info.h:
20,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/preempt.h:9,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/spinlock.h:49,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/module.h:9,

603:login:Penguin
07/04/08 00:09:38 2aPQfsMY
脳?

604:login:Penguin
07/04/08 00:10:46 gmHS+Fdj
>>603
いや、たぶん違うと思う。

こんなのも出てる。

/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/asm/system.h:346: error: expected declarat
ion specifiers or ‘...’ before ‘u8’
/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/asm/system.h:346: error: expected declarat
ion specifiers or ‘...’ before ‘u8’

605:login:Penguin
07/04/08 00:11:42 2aPQfsMY
じゃ、頭?

606:login:Penguin
07/04/08 00:12:08 gmHS+Fdj
NGID ID:2aPQfsMY

607:login:Penguin
07/04/08 00:15:19 2aPQfsMY
マジレスすると、読み込むヘッダーファイルが足りないんだよ。

608:602
07/04/08 00:19:06 gmHS+Fdj
環境はVMWare上でfedora 6を動かしてる。

こんなのも。

/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/bitmap.h:149: error: ‘BITS_PER_LONG’
undeclared (first use in this function)

609:login:Penguin
07/04/08 00:20:46 2aPQfsMY
BITS_PER_LONGを定義しているファイルをさがすことだね。

610:login:Penguin
07/04/08 00:29:38 nSKp4d9I
なんだこのキチガイ

611:login:Penguin
07/04/08 00:31:56 2aPQfsMY
また、きちがいあつかいですか?

612:login:Penguin
07/04/08 00:36:41 nSKp4d9I
ほう「また」なんだ

613:login:Penguin
07/04/08 00:37:31 2aPQfsMY
で?

614:login:Penguin
07/04/08 00:46:02 nSKp4d9I
あらら

615:login:Penguin
07/04/08 00:48:10 2aPQfsMY
なにがあららなの?

616:login:Penguin
07/04/08 00:49:12 nSKp4d9I
脳?

617:login:Penguin
07/04/08 00:49:55 2aPQfsMY
それはお互い様だろ?

618:login:Penguin
07/04/08 00:51:34 nSKp4d9I
俺はその質問者じゃないんだけどねえ

619:login:Penguin
07/04/08 00:56:35 2aPQfsMY
お友達?

620:602
07/04/08 00:58:54 gmHS+Fdj
もういちど、しきりなおし。

>>17 をコンパイルするとエラーがたくさん出るんだけど何が悪いの??

エラーの一部

/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/asm/bitops.h:244: error: expected ‘=’, ‘,’’, ‘asm’ or ‘__attribute__’ before ‘int’
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/thread_info.h:
20,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/preempt.h:9,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/spinlock.h:49,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/module.h:9,


621:login:Penguin
07/04/08 01:03:19 z/motjJL
>>620
ヒント:>>17のかかれた日付に注目。


622:login:Penguin
07/04/08 01:11:57 nSKp4d9I
2.6以降はモジュールのフォーマットが変わって、
.oじゃなくて.koになってるからね。
ビルドの仕方も面倒になって...俺もよくしらない。

623:login:Penguin
07/04/08 01:12:30 2aPQfsMY
linux/compiler.hかな?

624:login:Penguin
07/04/08 02:07:26 gmHS+Fdj
>>621-622
情報が古いのか。。
でも、ウェブにあるサンプルは大体同じような感じなんだけど。

2.6用モジュールhello worldってないのかな。

625:login:Penguin
07/04/08 02:24:54 z/motjJL
>>624
2.6 kernel hello world
でぐぐればすぐ出てくるぞ。

626:login:Penguin
07/04/08 02:28:17 gmHS+Fdj
>>625
なかなか無いよ。たとえばどこ?
すぐ出てきたなら、ここに貼って。

627:login:Penguin
07/04/08 02:34:41 n+CzrFXh
#include <linux/init.h>
がいるみたいね

628:login:Penguin
07/04/08 02:41:10 gmHS+Fdj
Makefileの書き方も変わってるみたいだね。

URLリンク(uguisu.skr.jp)
のやり方でうまくいった。

629:login:Penguin
07/04/08 03:09:43 z/motjJL
こことかな。
URLリンク(www.si-linux.co.jp)

630:login:Penguin
07/04/12 01:42:14 MCdnGupN
aio_write()でユーザ空間の登録だけして、後からハードウェア割り込みでその登録したユーザ空間にアクセスすることってできる?
やり方教えて。

631:login:Penguin
07/04/12 02:34:41 HoyZz9hB
>>626
自分はこれが良かった。
URLリンク(www.freesoftwaremagazine.com)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5366日前に更新/265 KB
担当:undef