- 1 名前:login:Penguin [02/01/31 01:14 ID:t3s191ys]
- ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
- 696 名前:login:Penguin [2007/10/08(月) 12:39:42 ID:v1nGyoTL]
- 馬本でデバドラを勉強しています。
カーネルのソースでドライバやったことがない人にも分かりやすいソースってどれですかね?
- 697 名前:login:Penguin mailto:sage [2007/10/08(月) 12:48:08 ID:Y0LW8BuC]
- そんな事言ってる位なら、馬本のドライバソース見ればいいじゃん。ダウンロードできるよ
- 698 名前:login:Penguin mailto:sage [2007/10/09(火) 08:54:41 ID:qhmHV8vi]
- >>696
何系のドライバかによるのでは>どれを見たらいいか。 ドライバの種類によってどういうインタフェースセット(いわゆる*_opsとか)を register_*とかで登録するのか、またインタフェース間やカーネル側処理がキュー等を 介してどのように連携するのか全く異なる。 漏れも読みたて入門者なんであれだけど、 キャラクタデバイスなら/dev/null(mem.c)とパラレルポート(ppdev.c + parport/*) ブロックデバイスならフロッピー(floppy.c)かramdisk(rd.c) ファイルシステムならromfs(romfs/*, readonly-fs)とbfs(bfs/*, readwrite-fs) が短かったり馴染みがあったりしてすんなり読めた。
- 699 名前:696 [2007/10/09(火) 12:16:03 ID:BjHL69v3]
- >>697-697
レスありがとうございます。
- 700 名前:login:Penguin mailto:sage [2007/10/18(木) 23:39:59 ID:YYamJxiT]
- 複数のデバイス間でデータをバイパス
したいのですがサンプルないですか?
- 701 名前:login:Penguin mailto:sage [2007/10/19(金) 14:04:12 ID:CYTWECsc]
- いくらなんでも漠然としすぎだろw
- 702 名前:login:Penguin mailto:sage [2007/10/20(土) 01:03:15 ID:jtNU9aYY]
- 2ポートとか4ポート付きのNICって
モジュールはどのようにロードされるの? またデータの共有とかRx,Txバッファの 管理とかどうなってるの?
- 703 名前:login:Penguin mailto:sage [2007/10/20(土) 04:41:50 ID:izm7N8bV]
- 1ポートのNICが複数枚ある場合と大差はない。
- 704 名前:login:Penguin [2007/10/21(日) 17:41:17 ID:yGaxVLsH]
- >>701
各ポートにデバイス eth0, eth1 ... と付いて、このデバイスファイルごとに 設定が管理されるだけじゃね?
- 705 名前:login:Penguin mailto:sage [2007/10/21(日) 18:39:44 ID:SCXCQ8PP]
- >>704
pciのデバイスとしては1つにしか見えないんだけどさ どうやって、その後4ポート認識してるかわからないんだよね
- 706 名前:login:Penguin mailto:sage [2007/10/21(日) 19:36:55 ID:f7YPzoUy]
- >>705
それはPCIブリッジが載ってるからじゃね? LANチップはその向こうのローカルバスに4ケ載ってるかと。
- 707 名前:login:Penguin [2007/10/23(火) 20:59:15 ID:pGCXISsZ]
- どなたかおしえてください。カーネルモジュールにバイナリコードを渡したい
のでrequest_firmware()を呼び出しているのですが、このrequest_firmware() という関数から呼び出されるhotplugはどのディレクトリでバイナリコードを 検索してくれるのかわかりません。言ってみればバイナリコードをどのディレクトリ におけばいいかがわかりません。ディストリビューションはfc6でカーネルは2.6.22です。 カーネルモジュールに対応するデバイスは無いので、sysfs上に仮想的なバスと デバイス、ドライバを作ってあります。このデバイスのdevice構造体を使って request_firmwareを呼んでいます。申し訳ありませんが、かなりまいってるので お願いします。ご助力ください。
- 708 名前:login:Penguin mailto:sage [2007/10/23(火) 21:05:08 ID:tiPDo332]
- >>707
Documentation/firmware_class/* ?
- 709 名前:login:Penguin mailto:sage [2007/10/23(火) 22:03:44 ID:+D+WWc4l]
- BUFFALOのCD-RWドライブがまだ使えるのでハックしたいんですが、
必要な情報ってメーカーから提供されているんでしょうか?
- 710 名前:login:Penguin mailto:sage [2007/10/24(水) 15:38:46 ID:8BiGN5WQ]
- ハゲシク板違い
- 711 名前:login:Penguin mailto:sage [2007/10/26(金) 18:00:12 ID:OMFZLcsd]
- お馬さんの本読んで勉強してるのだが、さっぱり分からん。
ちなみに今3章のscullデバイス。 みんな最初はこんなもんなの? それとも、俺がバカなだけなのか?諦めたほうがいいのか? 意見求む!!
- 712 名前:login:Penguin mailto:sage [2007/10/26(金) 18:53:10 ID:OVakku/9]
- やる気の問題じゃね?
- 713 名前:login:Penguin mailto:sage [2007/10/26(金) 20:06:04 ID:nlKsXgN2]
- >>711
「作ってみなきゃわかんない」 の典型かもしれん。 実際作業するとキャラクタデバイスは楽しい。 そして、ブロックデバイスに挑戦するときに 分けわかんなさをもう一度楽しめる
- 714 名前:login:Penguin mailto:sage [2007/10/27(土) 11:47:28 ID:US/tv6oE]
- よくわかんないのが、他のドライバの叩き方なんだよな。
ネットワーク通信してファイルとかブロックデバイスにも書くような ドライバが最終ゴールなんだけど、他のドライバのAPIってどうやって 叩くのか(どこがインタフェース界面なのか)と。
- 715 名前:login:Penguin mailto:sage [2007/10/27(土) 12:04:42 ID:Y1miLqrF]
- OSの勉強やり直しっぽい
- 716 名前:login:Penguin [2007/10/27(土) 19:45:56 ID:5LV4rb/o]
- >>714
それってkernelspaceじゃなくてuserspaceでやればいいのでは。
- 717 名前:login:Penguin mailto:sage [2007/10/27(土) 20:15:47 ID:US/tv6oE]
- >>716
使う側からはファイルシステムに見せたいので、実際プロトタイプは FUSE方式でやろうとしてます。でもそれだと簡単ではあるものの 二級市民みたいなので、kernelspaceでの正しいやり方を知りたいなと。 nfsとかcryptfsのコードを読むは読むにしても、どっかにそういう 各種ドライバを内部から使うための情報をとりまとめたものとかは ないのかなと。
- 718 名前:login:Penguin mailto:sage [2007/10/27(土) 21:00:45 ID:RlzxlVfH]
- >>717
とにかくなんでもいいから氏ねw
- 719 名前:711 mailto:sage [2007/10/28(日) 02:49:08 ID:W9zUZBn1]
- >>712
鋭いな。そうかもしんない。 >>713 なるほど、これは貴重な意見が聞けた。サンスコ!!
- 720 名前:login:Penguin mailto:sage [2007/10/28(日) 02:54:06 ID:7ULWmmgi]
- >>717
ntfs-3g なんかはfuseだけど、実用的に動いているし、全然2級って感じしないけど。
- 721 名前:login:Penguin [2007/10/28(日) 23:36:04 ID:jy3FHf6c]
- 馬本にOSの仕組みを知ってる必要があると書いてありましたが、
どんなことを知っていたほうがいいのでしょうか?
- 722 名前:login:Penguin mailto:sage [2007/10/28(日) 23:41:48 ID:1vAj4w/k]
- メモリ管理・特権・スケジューリング・ファイルシステム(ry…全部じゃん
- 723 名前:login:Penguin [2007/10/28(日) 23:45:24 ID:jy3FHf6c]
- >>722
ありがとうございます。 詳解Linuxカーネルも読みます。
- 724 名前:login:Penguin mailto:sage [2007/10/29(月) 00:42:23 ID:uCaYz1aO]
- >>723
知りたくなったときに読めばいいよ でも必ず買っとけ
- 725 名前:login:Penguin mailto:sage [2007/10/29(月) 09:44:50 ID:wx/mrO8x]
- 買うなら原書(英語版)のほうがいいぜ
版が新しいし安いからな
- 726 名前:login:Penguin mailto:sage [2007/10/29(月) 10:27:48 ID:nDk3r2gZ]
- > 版が新しいし
4th edition でたの?
- 727 名前:login:Penguin mailto:sage [2007/10/29(月) 20:53:20 ID:Bg0Jp9i7]
- konozama.comとか少しは自分で調べようよ
- 728 名前:login:Penguin mailto:sage [2007/10/29(月) 23:42:16 ID:oMEBh2dX]
- Oh〜、チョッとお聞きしただけで損何怒らなくても
いいじゃないですかぁ〜。Hey,take it easy ! でも調べるところは教えてくれるアナタに感謝で〜す!
- 729 名前:login:Penguin [2007/11/08(木) 00:29:00 ID:Cm3oK6QC]
- メーカーとかが作ったデバドラのソースって公開してるものはあるのでしょうか?
- 730 名前:login:Penguin mailto:sage [2007/11/08(木) 01:07:57 ID:vscqki7B]
- ネットワークデバイス系はそういうのが結構多いような。
超いい加減だけど: つ $ grep -r 'Inc[.o]' drivers | egrep -v '(Red|Vista|Foundation)'
- 731 名前:login:Penguin [2007/11/12(月) 11:19:56 ID:vNQ95D4g]
- kernel2.6.18.6でターゲット側のUSBドライバ書こうとしてるんですが
参考になるサンプルってありますでしょうか? drivers/usb/gadget/net2280.cとかが近いのかも知れないですけど どうもpciで登録してるように見えて「別物かなぁ?」と思いまして。 あとホスト側のUSBドライバで挿されたら何でも拾う設定って usb_device_idの.device_infoに適当な値を突っ込めばいいと思って たんですがどうにもattachの際に自作のprobeが呼ばれません。 成功した方っていらっしゃいます? ご存知の方いらっしゃればお願いします。
- 732 名前:login:Penguin mailto:sage [2007/11/12(月) 23:57:28 ID:xIHzaILy]
- >>731
おめー御馬様のサンプル 見てていってるんだよね? もしそうなら、適正無いから諦めろ 見てないなら、お前は調査能力ない からニートかなんかになれ
- 733 名前:login:Penguin mailto:sage [2007/11/13(火) 00:56:13 ID:0Tz4Ruwv]
- >>732
よく判ってらっしゃる。 馬本はさらっと読みましたが元がLinuxでも組み込みでもない世界で やってて、急遽ヘルプで入ったんでさっぱり。 前任が逃げてヘルプなんで誰も知ってる人がいない\(^o^)/ で、聞いてみたんですが俺も逃げっかな・・・
- 734 名前:login:Penguin mailto:sage [2007/11/13(火) 01:11:37 ID:nAlW3/rO]
- >>733
一週間悩んだら解かんないか? すげー複雑な科学計算とか遺伝子関係の プログラミング以外ほとんどの対象のプログラミング なんて簡単だぞ 時間がかかるものが多いのは事実だが ドライバは簡単な部類だ
- 735 名前:login:Penguin mailto:sage [2007/11/13(火) 01:21:16 ID:0Tz4Ruwv]
- >>734
まだ2日程度なんですよね。 「デバドラ」だと思ったんで聞いてみたんですがレベル設定あるみたいなんで 「くだらねぇ」でも行ってきます(´・ω・`)
- 736 名前:login:Penguin mailto:sage [2007/11/13(火) 01:24:22 ID:O430Avmc]
- 御馬様っていうのか・・・
昨日、買いました。勉強します〜
- 737 名前:login:Penguin mailto:sage [2007/11/13(火) 09:24:54 ID:SFIG7nsG]
- >>734
ちなみに、回答しない人の言うことは無視したほうがいいよ。 >>732はニートとか言ってるし典型的な煽り。
- 738 名前:735 mailto:sage [2007/11/14(水) 00:27:19 ID:2+ZY8Hov]
- 馬本見たら「本書の範囲を超えるので載せません」て書かれてた(´・ω・`)
USB gadgetは難しいだろうかnet2280.cよりもZero.c見たほうがいいのかなぁ・・・。
- 739 名前:login:Penguin mailto:sage [2007/11/14(水) 02:20:20 ID:aLuJUt0c]
- 文句とか愚痴だけいって何も貢献しない人間ほどむかつく奴はいない。
- 740 名前:login:Penguin [2007/11/17(土) 09:40:38 ID:MN9c6cz5]
- >>739
どうどうどぅ…
- 741 名前:login:Penguin mailto:sage [2007/11/17(土) 11:39:12 ID:AZzmHExp]
- >>739
Do! Do! Do!
- 742 名前:login:Penguin [2007/11/17(土) 11:43:31 ID:4avAGLIe]
- do_fork
- 743 名前:login:Penguin [2007/11/29(木) 13:55:56 ID:yo1OGExb]
- mmapで特定のデバイスのIOメモリを仮想空間に割り付けて,
その領域に対してユーザーからデータを書き込むことを考えています. ユーザープログラムからその領域上に,あるデータ型の双方向リスト を作りたいのですが,ユーザー空間の特定のアドレス範囲から空き メモリ領域を動的に確保する方法ってないでしょうか void *dev_malloc(start_address, end_adress, nbyte); とすると仮想アドレスstart_address〜end_adressの範囲から nbyteバイトの領域を確保するみたいなイメージです
- 744 名前:login:Penguin mailto:sage [2007/11/29(木) 20:09:08 ID:iCD9/EY6]
- >>743
かーなーり スレ違い デバイスドライバ関係ない 汎用heap管理ライブラリがほしいってことだろ heap-management とか ヒープ管理 でぐぐってみそ ちなみに void *dev_malloc(start_address, end_adress, nbyte); ってI/Fはありえないと思うぞ 毎回 start_addressとend_adressを与えるわけ??
- 745 名前:login:Penguin [2007/12/02(日) 23:50:11 ID:lbIQi7BJ]
- あげ
- 746 名前:login:Penguin [2007/12/13(木) 19:50:31 ID:pBhS9AMD]
- あげ
- 747 名前:俺 [2007/12/18(火) 23:09:45 ID:K//ZswLt]
- ドライバでCPUキャッシュのフラッシュやりたい!
どうやるの?だれかおせぇ〜てぇ〜
- 748 名前:login:Penguin mailto:sage [2007/12/18(火) 23:41:07 ID:uNdsweTC]
- >>747
CPUキャッシュのフラッシュをする命令を実行すればいいんじゃない? CPUはなに?
- 749 名前:俺 [2007/12/18(火) 23:59:27 ID:K//ZswLt]
- >>748
Xeonの5100です。 データシートとか見つからなくて。。。 ご存知でしたら教えていただけませんか? <経緯> Linuxマシンで、DMAでPCIeのデバイスからホストメモリにデータ転送 したときにキャッシュのせいか、2周目のリングバッファ領域が うまく参照できていなく、フラッシュすればと思いました。。
- 750 名前:login:Penguin mailto:sage [2007/12/23(日) 13:45:51 ID:VU+KNtKv]
- >>ORE
ttp://www.intel.com/products/processor/manuals/index.htm
- 751 名前:login:Penguin [2007/12/24(月) 18:03:58 ID:ugbio3bt]
- Linux 2.6.22 ARM9マシンでシリアルコンソールでデバッグするためにカーネルコマンドラインで
console=uart,mmio,0x80004600,57600n8 とすると、カーネルの初期化中に early_uart_console_init()→register_console()→early_uart_setup()→parse_options()→ioremap()→__arm_ioremap()→__arm_ioremap_pfn()→get_vm_area()→__get_vm_area_node()→kmalloc_node()→kmalloc()→kmem_cache_alloc() が呼ばれてkmem_cache_alloc()でこけます。 slabアロケータがまだ初期化されていないのにkmem_cache_alloc()が呼ばれているのがこける原因と思うのですが、armマシンでもearly_uart_consoleは使えるのでしょうか?
- 752 名前: 【大吉】 【801円】 [2008/01/01(火) 19:54:53 ID:EHGXP/cp]
- 新年あげ
- 753 名前: 【中吉】 【156円】 [2008/01/01(火) 20:58:21 ID:LfamTH+n]
- >750
749じゃないけど,これいいな.サンクス. みんなチップのデータとかはどこから調べてくるの? ちょっと想像してみたけど,「とりあえずメーカサイトを調べる」 以外の方法がわからん. windowsのドライバから情報調べたりする人もいるの? いたらその解析方法とかおしえてください.
- 754 名前:login:Penguin mailto:sage [2008/01/01(火) 20:59:27 ID:VCekl7x7]
- >>753
メーカに電話して聞く
- 755 名前:login:Penguin mailto:sage [2008/01/01(火) 23:23:30 ID:hQDOyXLN]
- >>749
Intel の CPU だとその手のキャッシュのことは気にしなくていいんじゃなかったっけ? いわゆるバススヌープ。ま、明示的にフラッシュしたきゃできるだろうけど。 (実は俺自身は x86 以外用のドライバしか書いたことがないので聞きかじりだが...) あと、キャッシュが効いているなら1周目でも駄目な場合がありそうだがどうなん? 単にリングバッファのアリゴリズムでしくじってたりして。 って、よく見るとえらい昔の書き込みだった。もう解決したのかな。
- 756 名前:login:Penguin mailto:sage [2008/01/02(水) 12:58:56 ID:jVjgkvN4]
- チップの購入先の営業から入手とか
チップベンダのwebサイトからダウンロードだろ 常考
- 757 名前:login:Penguin [2008/01/14(月) 11:44:33 ID:MLu8ArWP]
- 今馬本の第 3 版読んでんだけど scull のソースコードって
Web でダウンロードできるの?
- 758 名前:login:Penguin mailto:sage [2008/01/14(月) 11:59:56 ID:hAs2atpA]
- あるよ
- 759 名前:login:Penguin mailto:sage [2008/01/14(月) 13:03:13 ID:MLu8ArWP]
- >>758
早速ありがとう. 本を斜め読みしてるんだけど URL が見当たらないです. 検索しても見付からないし,もしよろしければ教えていただけますと うれしいです
- 760 名前:login:Penguin mailto:sage [2008/01/14(月) 13:36:46 ID:Q2m15cvj]
- >>759
>>80
- 761 名前:login:Penguin mailto:sage [2008/01/14(月) 14:10:16 ID:MLu8ArWP]
- >>759
ありがとう! 3版のは FTP で以下からダウンロードできました. ar.linux.it/pub/ldd3/ldd3-samples-1.0.0.tar.gz かなり感謝です ありがとう
- 762 名前:login:Penguin mailto:sage [2008/01/14(月) 14:13:07 ID:MLu8ArWP]
- 自分にお礼ちまった
>>761の「>>759」は >>760 の間違いです >>760さんありがとう
- 763 名前:login:Penguin mailto:sage [2008/01/17(木) 11:56:40 ID:1+AIbUNm]
- >>761
あれ?お馬さんの第3版それなの? 日付が気になるので、第3版翻訳本に載ってたのをこぴぺ ftp://example.oreilly.com/pub/examples/linuxdrive3 examples.tar.gz 70 KB 2005/05/12 0:00:00 ちょいとだけ新しいかも。同じくLinuxデバドラはじめる所なので よろしく〜。Win系でWDM書いてました〜。
- 764 名前:!omikuji !dama [2008/01/25(金) 07:11:44 ID:dVpHcdky]
- kaso
- 765 名前:login:Penguin mailto:sage [2008/01/25(金) 21:56:39 ID:OZPnpJ0W]
- ドライバでのロックの掛け方とか
その変のデザインパターンみたいなもの ないのですか? 馬本読んでも、DualSocket 4コアとか その辺の場合どうすればいいとかまったく 書いてなくて困ってる。 CPU毎にあるモノを意識しなければならないのか 全リソースを意識した作りなのかの判断も ケースバイケースとかだし。WDMの方がいいよね
- 766 名前:login:Penguin mailto:sage [2008/01/26(土) 23:10:19 ID:jNmSnKBM]
- >>765
スピンロック様
- 767 名前:login:Penguin mailto:sage [2008/01/27(日) 14:19:40 ID:/9d4A9Tg]
- WDMってよく知らないが、割り禁、スピン、寝る&起こす以外に
排他の方法があるの?
- 768 名前:login:Penguin mailto:sage [2008/01/27(日) 17:28:29 ID:Q2ylOq7r]
- そもそも排他なんじゃねーの?
昔はLinuxも明示的にスケジュールよぶまで カーネル空間は排他だったじゃん SMPが出てきて全部直す羽目になったけど
- 769 名前:login:Penguin mailto:sage [2008/01/27(日) 19:45:28 ID:/9d4A9Tg]
- 割込みハンドラ
- 770 名前:login:Penguin [2008/02/03(日) 19:45:35 ID:coODkdMv]
- 過疎
- 771 名前:login:Penguin mailto:sage [2008/02/07(木) 03:30:55 ID:9BnmgFGp]
- 「新着1件ってことは、いつもの良スレ上げ厨かなぁ」と思ったらそう来たか。
- 772 名前:login:Penguin [2008/02/19(火) 16:29:32 ID:vNMS2dUr]
- 基本的にPCIデバイスにデータ渡すだけのドライバを作ってるのですが、
I2Cデータ転送もしたいといわれ、苦戦中につき質問させて下さい。 カーネルリリースは2.6.11-1.1369_FC4 今のところインクルードしてるのは下記ヘッダーです。 linux/module.h linux/kernel.h linux/pci.h linux/pci-dev.h asm/uaccess.h unistd/.h sys/ioctl.h sys/perm.h I2Cのオープンのために、これにfcntl.hを加えたところ、dev_tの型などが再定義されたとエラーが出ます。 また、KERNELDIRを取得して、その場でMAKEしているため Makefileにて、環境変数C_INCLUDE_PATHに/usr/includeを設定しているのですが fcntl.hを除いてコンパイルしてもclose, ioctl等が未定義と警告されます。 これらエラーや警告の対応に行き詰まってしまいました。 インクルードに過不足あるのか、Makefileが悪いのか、そもそもPCIドライバからI2Cを叩く方法が悪いのか… アドバイス等お願い出来ますでしょうか。
- 773 名前:login:Penguin mailto:sage [2008/02/19(火) 19:10:24 ID:5BDGV8A6]
- デバイスドライバでunistd.hなんかincludeしちゃダメだろ
fcntl.hも同様
- 774 名前:login:Penguin mailto:sage [2008/02/19(火) 21:35:29 ID:ec7S8nn5]
- 何言ってるのかわからないなw
PCIデバイスとして、I2Cバスへのブリッジが載っているのか? それとも、PCIバス/デバイスとは関係なく、全く別のI2Cバス上のデバイスをアクセスしたいだけなのか?
- 775 名前:772 mailto:sage [2008/02/19(火) 22:00:59 ID:vQR2/dLm]
- >>773
やっぱりダメですか。 というか、無理やり環境変数使ってコンパイラのエラーを抜けてる(unistd.h以降3ヘッダ、加えてfcntl.h)のは全部includeしちゃダメですかね。 >>774 >PCIデバイスとして、I2Cバスへのブリッジが載っているのか? >それとも、PCIバス/デバイスとは関係なく、全く別のI2Cバス上のデバイスをアクセスしたいだけなのか? PCIデバイスにI2Cバスへのブリッジが載っている、のはずです。
- 776 名前:login:Penguin mailto:sage [2008/02/19(火) 22:53:37 ID:5BDGV8A6]
- つーかさ
カーネルモードで動いてるデバイスドライバの中から open()とかclose()とかioctl()みたいなシステムコールを 発行できるわけないだろ? >>772が作りたいと思ってるのは root権限で直接I/O叩くだけの ユーザランドで動くアプリなんじゃないのか?
- 777 名前:login:Penguin mailto:sage [2008/02/19(火) 23:10:27 ID:ec7S8nn5]
- >>775
じゃあ、そのPCI-I2Cブリッジのデバイスドライバを書いているんだとして、 >I2Cのオープンのために なんで、こうなるのよw とりあえずDocumentation/i2c/summaryでも読んでくれ。
- 778 名前:login:Penguin mailto:sage [2008/02/20(水) 08:43:00 ID:zgvkT7V3]
- >>776
呼んじゃダメなんですね。了解しました。 先週までアプリしかやったことがなく、ついそっち寄りな考えに、と、蛇足でした。失礼しました。 >>777 あー、確かに。 教えていただいたものを読んでみます。 ありがとうございました。
- 779 名前:login:Penguin mailto:sage [2008/02/20(水) 09:40:57 ID:zxxPBExl]
- >>773
そういえば、しちゃダメだ ってどこにも書いてないな わからない奴はわからないんじゃないか?
- 780 名前:login:Penguin mailto:sage [2008/02/21(木) 00:46:11 ID:VUV3LHo/]
- ちょっと相談なんだが、いいかな
writeの中で長時間割り込み待ちをするような処理と、その場で終わる処理を持ったデバドラがあって、 (処理の切り替えはioctl) まずアプリAが長時間かかる処理のためにwriteわ呼び出す。 当然割り込み待ちになるが、そのままアプリBがioctlやwriteを呼び出すとどうなる? 普通に処理出来る?
- 781 名前:login:Penguin mailto:sage [2008/02/21(木) 00:55:15 ID:A2lpGb2W]
- 一つのデバイスを二つのアプリで同時に使うっつー事ですか?
- 782 名前:login:Penguin mailto:sage [2008/02/21(木) 01:18:43 ID:VUV3LHo/]
- >>781
その通りで。 ただ、1つのアプリがマルチスレッドになってるという場合もありでお願いしたい
- 783 名前:login:Penguin mailto:sage [2008/02/21(木) 01:55:12 ID:6LvlPNy5]
- できるかどうかは作り方次第だろうな
資源の排他処理が必要なら、ロック使わなきゃならん その場合は、すぐ終わるはずの処理ももちろん待たされる 待たせたくなけりゃ、長時間かかるというwriteにバッファを設けて write処理と割り込み処理とを分離するみたいな工夫したらどうだ 的外れならスマソ
- 784 名前:login:Penguin mailto:sage [2008/02/21(木) 02:11:45 ID:VUV3LHo/]
- >>783
資源は共有しないからロックはいらなさそうだ writeにバッファを設けて処理を分離ってのがイマイチわからんのだけど、説明頼んでもいいかい? デバドラの中でもスレッドとかで並列にするの?
- 785 名前:login:Penguin mailto:sage [2008/02/21(木) 06:04:45 ID:Xs+RkuJQ]
- シリアルポートを想像してみたらどうだろう
Write、Read、割り込みがそれぞれ並列に動くはずだ Writeで割り込み使ってるかどうかは知らないけど
- 786 名前:login:Penguin mailto:sage [2008/02/21(木) 07:26:26 ID:Kf6eqU14]
- ブロック と ノンブロック という用語を使ってほしいところだな
んで複数プロセスから同時に使えるかどうかはデバイスドライバの作り方次第 手抜きにつくると open()されるときに競合問題を判断して 同時にひとつとかopenできないようにするよな 複数同時にopenして、ひとつがブロックしてる時に また別のがノンブロックの処理要求してきたなんて場合は そういう風にうまく動くようにドライバの中で考慮する必要がある
- 787 名前:login:Penguin mailto:sage [2008/02/21(木) 07:32:20 ID:Kf6eqU14]
- 追記
呼び出し側がマルチスレッド使ってるかどうかはあまり関係ない ふたつのプロセスがメモリを共有してようがしてまいが ドライバにとっては関係ない話だ それよりCPUが複数ある(いわゆるSMP)かどうかの方が重要 smp対応させるなら必要なところできっちりspinlockしないとダメ
- 788 名前:login:Penguin mailto:sage [2008/02/21(木) 08:59:36 ID:VUV3LHo/]
- >>787-788
ブロック=長時間処理 ノンブロック=即時処理 でおk? 複数からopenされるのはアリにしないといけないっぽいんで、考えてみる。 ブロック中にアプリBからもwrite自体は呼び出せる? その時点で破綻してるなら、今のwriteをそのままスレッド化して、write自体はスレッド起動だけにするなりで対応とか…ダメかな あとCPUは1つ前提でおkっす。 余裕があったら後学のためにもsmp対応も抑えておきたいがw
- 789 名前:login:Penguin mailto:sage [2008/02/21(木) 09:10:48 ID:Kf6eqU14]
- > ブロック中にアプリBからもwrite自体は呼び出せる?
もちろん呼べる ブロック処理とは、簡単にいうと処理開始をデバイス(ハードウェア)に 通知したあとスリープ状態に入り、処理完了割込が入ったら 割込ハンドラがスリープ(ブロッキング)しているプロセスを たたき起こすって流れ。 アプリAがスリープ(ブロッキング)している間に アプリBからreadなりwriteなりが発行されるのは当然ありうる話。 ちゃんとドライバを書いておけば問題なく動く。 linuxカーネルのソースコードそのものがいいサンプルコードだから いろいろ読んでみるとよい。 それから、procfs(/procの下に仮想ファイルをつくる)に 状態監視・デバッグ操作用のI/Fを用意しておくと後々楽になるよ。
- 790 名前:login:Penguin mailto:sage [2008/02/21(木) 09:27:27 ID:VUV3LHo/]
- >>789
凄く参考になった! ありがとう >答えてくれた人達 いろいろありがとう
- 791 名前:login:Penguin [2008/03/03(月) 00:13:39 ID:JgGlbVL6]
- ttp://www.atmarkit.co.jp/fsecurity/rensai/rootkit03/rootkit02.html
上記を参考にシステムコールをフックするプログラムを書きました(そのままでは駄目なので必要に応じて修正しています)。 コンパイルすると、 original_sys_uname = sys_call_table[sys_uname]; sys_call_table[sys_uname] = hook_uname; のsys_unameで `sys_uname' undeclared (first use in this function) とエラーがでます。 これは arch/i386/kernel/syscall_table.S をインクルードしておく必要があるのでしょうか? 使用しているカーネル:2.6.23
- 792 名前:login:Penguin mailto:sage [2008/03/03(月) 01:17:37 ID:dOT+ttrq]
- >>791
よく知らんけど、これよめ。 System calls replacement ttp://kerneltrap.org/node/5793 nm -uでundefinedなシンボルが置き換えらればいいだけなら、 LD_PRELOADなりLD_AUDITをつかってどうにかしたほうがいいんじゃね? そうなら、以後下へどうぞ。 Linuxプログラミング pc11.2ch.net/test/read.cgi/linux/1118024349/
- 793 名前:login:Penguin mailto:sage [2008/03/03(月) 04:02:04 ID:JCTvrwL7]
- >>791
sys_call_table[NR_uname] = hook_uname; の様な気がするわけですが。 >>792 それはユーザー空間で乗っ取る方法ですがな。
- 794 名前:791 [2008/03/03(月) 07:25:41 ID:zrYDUX8A]
- >>792-793
試してみます。 情報ありがとうございます。
- 795 名前:login:Penguin mailto:sage [2008/03/04(火) 09:36:17 ID:NdRlprld]
- >>791
乗り遅れたか!? Linux 2.6からシステムコールのフックはできません。 パッチ当てなきゃできないようなことが ttp://tldp.org/LDP/lkmpg/2.6/lkmpg.pdf 8章にそのようなことが書いてあったはず。 記憶が確かなら、792の示したサイトの unsigned long **sys_call_table = find_sys_call_table();を 加えればできたと思う。
- 796 名前:795 mailto:sage [2008/03/04(火) 09:39:35 ID:NdRlprld]
- >>791
パッチを当てるのが嫌ならLSMを使ったらいい。 決まった関数で始めるとか、とかsecurity_operations構造体に登録するあたりとか デバドラに似ているからsecurity以下を読めば使えると思う。
- 797 名前:791 [2008/03/04(火) 19:10:21 ID:iX0t2env]
- >>795
どうもです。 あれから色々調べたら>>795の言うとおりに2.6.xからはできないみたいですね。 下記のURLに書いてある。i386_ksyms.cに extern void* sys_call_table[]; EXPORT_SYMBOL(sys_call_table); を、追加・再構築してやってみようと思います。 ttp://mail.nl.linux.org/kernelnewbies/2006-05/msg00334.html
- 798 名前:login:Penguin mailto:sage [2008/03/04(火) 20:25:09 ID:neWtFAJV]
- >>791
調べもせずに書いてるけどLinux版のウィルス対策ソフトのお試し版に 運がよければカーネルモジュールのソースが含まれていて、なおかつ、 それがシステムコールのフックしていたりしないか?
- 799 名前:791 [2008/03/05(水) 00:39:02 ID:QPFLTsD+]
- >>798
そのようなことはございません
- 800 名前:login:Penguin [2008/03/17(月) 18:46:02 ID:c0UdNwV3]
- あげ
- 801 名前:login:Penguin mailto:sage [2008/03/18(火) 18:12:00 ID:z8581E+A]
- init中にalloc_chrdev_regionでデバイス番号を動的確保した後で、
そのまま(関数内で)スペシャルファイルを作成する事は可能? mknodコマンドでなく、あくまでインスコだけで済ませるように出来ないかと…
- 802 名前:login:Penguin mailto:sage [2008/03/18(火) 18:22:19 ID:qC/Waqz9]
- udevじゃダメなの?
- 803 名前:login:Penguin mailto:sage [2008/03/18(火) 20:50:35 ID:Hq9+Lc7G]
- >>801
オレならprocなりsysなりのみで済ます
- 804 名前:801 mailto:sage [2008/03/18(火) 21:37:57 ID:z8581E+A]
- >>802>>803
それだとinsmod以外にも必要になるんじゃないんですか? 関数で無いですかね (init_moduleから呼び出す) insmod hoge だけ実行すればアプリから叩けるような形にしたいんですが…
- 805 名前:login:Penguin mailto:sage [2008/03/18(火) 21:49:17 ID:irgQA2zj]
- shell スクリプト作ってその中で insmod、mknod すれば?
rmmod も出来るようにすれば、なお良いでしょ?
- 806 名前:login:Penguin mailto:sage [2008/03/18(火) 23:47:40 ID:z8581E+A]
- >>805
それが良さげですね。 ありがとうございました。
- 807 名前:login:Penguin mailto:sage [2008/03/18(火) 23:49:33 ID:owXiyD5i]
- >>801
mknodしたくないってだけなら、device_create(9)か、手を抜きたいなら misc_register(9)に全部にまかせれば、>>802が言ってるように、udevが勝手に スペシャルファイルを作ってくれるんじゃないか?
- 808 名前:login:Penguin mailto:sage [2008/03/19(水) 10:35:22 ID:J+fEVrF8]
- ブロックデバイスのブロックサイズってどこで決まってるの?
ユーザアプリから見る方法ある?
- 809 名前:login:Penguin mailto:sage [2008/03/19(水) 14:37:31 ID:ZMxkS/nc]
- >>808
mkfsする時に決まると思うが。 ext2/ext3 なら tune2fs -l で見るか、ファイルがあれば stat構造体の st_blksize を見る。
- 810 名前:login:Penguin mailto:sage [2008/03/20(木) 00:19:26 ID:tEIlyDHp]
- >>808
そのブロックデバイスドライバが制御しているハードの規格によりだね。 SCSI系ならMode Senseコマンドで取れたんじゃないっけ?
- 811 名前:login:Penguin mailto:sage [2008/03/20(木) 00:24:56 ID:tEIlyDHp]
- >>808
試してないけど、blktool(8)のblock-szコマンドでいけそうかもね?
- 812 名前:login:Penguin mailto:sage [2008/03/20(木) 02:10:32 ID:wMmGSYfl]
- >>809
フォーマットする前に最適値を知っときたい乙女心です >>810-811 ありがとう。でもハードの規格というよりブロックデバイスとして なんかその辺を返してくれるioctlなりなんなりがあったらいいな とか夢想してた
- 813 名前:login:Penguin mailto:sage [2008/03/28(金) 15:40:00 ID:BcQjSrEl]
- >>807見て、misc_register調べてちょっと使ってみたんだけど、
これで作ったもんどうやって消すんだ? 関数自体は使い方分かったが、対になるもの無い? misc_register込みのinsmod→rmmod→再度insmodでハングするんだが
- 814 名前:login:Penguin mailto:sage [2008/03/28(金) 15:47:49 ID:BcQjSrEl]
- 書いた直後に自己解決しちまったorz
misc_deregisterがあるのね… スレ汚しすまんかった
- 815 名前:791 [2008/04/06(日) 15:36:55 ID:n9AD6VHb]
- ほ?
- 816 名前:login:Penguin [2008/04/10(木) 21:40:14 ID:zop984mC]
- mmapを利用して物理アドレス0x10000000に存在するデバイス(SRAM)のR/Wを
行うドライバを作成しようと思っています。 馬本の第3版のサンプルソース(simple)を参考にしながらremap_pfn_rangeで マッピングし、ダンプをとってみたところ、0x10000000エリアのデータでは なく、全て0のデータが読み取れました。 0x1000等の小さい物理アドレスであれば正常にリード出来ているようです。 0x10000000のように上の方のアドレスは、remap_pfn_rangeではマッピング されないのでしょうか? カーネルのバージョンは2.6.11です。
- 817 名前:816 [2008/04/10(木) 22:19:28 ID:zop984mC]
- /dev/mem openして
memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000) でも同じ結果でした・・・
- 818 名前:816 [2008/04/10(木) 22:20:55 ID:zop984mC]
- 訂正
>>817 >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000)
- 819 名前:816 [2008/04/10(木) 22:21:43 ID:zop984mC]
- 訂正
>>817 >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000)
- 820 名前:login:Penguin mailto:sage [2008/04/10(木) 23:10:16 ID:hws3UYgb]
- Linux 2.6.11 使ってないしためしてないけど、
/sys/devices/pci*/*/resource? を mmap(2) って出来ないんだっけ?
- 821 名前:login:Penguin mailto:sage [2008/04/11(金) 00:58:30 ID:pzz5pihD]
- とりあえず、落ち着けw
man mmap2
- 822 名前:816 [2008/04/11(金) 23:01:18 ID:1s5/4DVK]
- >>821
>man mmap2 ↓ですよね? www.pinkdragon.net/doc_lib/contents/ja/linux_man/mmap2.2.html Linux 2.3.31 以降で使用可能とありますが、この環境では定義されていないと言われます。 組込み系だからなんでしょうか・・・ それと馬本第3版のP437 15.2.6 RAMのマッピングを変更する に 「ramap_pfn_rangeがRAMを扱えないことは・・・」ってくだりがあります。 実際いま起きている問題はこれなんでしょうか? ioremap_nocacheでReadする方法とダンプ比較したところ,mmapだと 0x00000000〜0x00800000 あたりまではちゃんとよめますが、 0x01000000になったとたん、0x00000000の値になってしまいます・・・ ioremap_nocacheでは0x01000000も見れるのに・・・
- 823 名前:login:Penguin mailto:sage [2008/04/12(土) 04:09:25 ID:CJCvWk/v]
- MTD使えばいいんじゃない?
phram.koとか slram.koとか
- 824 名前:login:Penguin mailto:sage [2008/05/26(月) 23:35:38 ID:ZMUO6bXW]
- タスクレットの中でsleep_on_timeoutって呼べないんですか?
なぜかカーネルパニックになってしまいます…
- 825 名前:login:Penguin mailto:sage [2008/05/28(水) 19:14:20 ID:eAKKlqpI]
- タスクレットからkill_fasync()呼びたいんですけど、
第一引数ってどこから持ってくればいいんでしょうか?
- 826 名前:login:Penguin [2008/06/13(金) 19:47:44 ID:ngpRzev4]
- フリーオのデバイスドライバー書ける人が居たら神!
- 827 名前:login:Penguin mailto:sage [2008/06/13(金) 22:56:58 ID:yAy4CW2H]
- 玄箱用のは、あるだろ
- 828 名前:login:Penguin [2008/07/05(土) 05:09:39 ID:+CtKxXwh]
- あげあげ
- 829 名前:login:Penguin mailto:sage [2008/07/05(土) 08:11:05 ID:d6Puhgue]
-
ttp://pc11.2ch.net/test/read.cgi/linux/1213378360/
- 830 名前:login:Penguin mailto:sage [2008/07/05(土) 11:49:23 ID:D1363wxr]
- やっぱり情報公開されてない物のドライバ造るのって無理がある?
Willcomスマートフォン端末でLinuxを動かすプロジェクト?があるのですが、 WS003SH、WSはPrismチップの無線LANを使用。 WS011SHではSharp独自のチップを使用した物のようです。 WS020SHは不明。 当方WS011SHの物の開発に興味があるのですが、難しいどころか情報の公開がされていない限りは 手すら付けられない状態でしょうか? アドバイスよろしくお願いします。
- 831 名前:login:Penguin [2008/07/27(日) 04:17:46 ID:JGvJfhtT]
- copy_{to,from}_user()でユーザプロセスのアドレスを与えるところにカーネル空間のアドレスを与えるとどうなります?
やっぱりaccess_ok()で弾かれる?
- 832 名前:login:Penguin [2008/07/27(日) 08:01:26 ID:Nq54nVAZ]
- >>831
その程度、自分で確認しろ。
- 833 名前:login:Penguin [2008/08/21(木) 06:11:30 ID:5vh0FBcx]
- あげ
- 834 名前:login:Penguin [2008/09/17(水) 22:50:23 ID:v0hV3n2N]
- Linuxデバドラ移植の質問です。
雑誌の記事でx86Linuxデバドラを他CPUのLinuxに移植する際に、デバドラのソースが x86に依存してて移植できないことを知りました。 どうやらx86プログラマが他のCPUへの移植性を考えずに開発したことが原因みたいです。 雑誌によるとデバドラの依存箇所は以下が多いようです。 ・バイトオーダ ・アライメント ・I/Oアクセス ・タイミング 皆様に質問ですが、このようなx86に依存したLinuxデバドラが落ちている場所を ご存じないでしょうか? また、根本的なことですがx86Linuxデバドラを移植したり、移植しようとしたが x86に依存してて大変だったという案件は多いのでしょうか? どうぞよろしくお願いいたします。
- 835 名前:login:Penguin mailto:sage [2008/09/17(水) 23:58:51 ID:3YmhTjsY]
- >>834
drivers/ 直すのはそんなにめんどくないが、どこに地雷があるかわかりにくいのがのう。
- 836 名前:login:Penguin mailto:sage [2008/09/18(木) 00:34:30 ID:YTkXriLK]
- >>834
というか、デバイスドライバは基本的にハードに依存して当然 という側面も否定できないと言わざるを得ないこともあるので。
- 837 名前:834 mailto:sage [2008/09/18(木) 00:34:38 ID:csSd+QEz]
- カーネルソース内にあるんですね!
知りませんでした; 私は初心者でよく知らないんですが、てっきりカーネルソール内のコードって 移植性をちゃんと考えてあって(arch/以外)、管理されていると思ってました。 むしろ、カーネルソース外の開発(企業or個人)で公開されているドライバに あるのかと思ってました。
- 838 名前:login:Penguin mailto:sage [2008/09/18(木) 10:25:28 ID:tEXQNL4k]
- >>834
ふつー開発者の持ってるCPUでしかテストしないよ。 tg3とかe1000とかはNEC(ia64)とかIBM(powerpc)とかが 頑張って自分とこのハードで動くようにしてるけど、 個人でハックしてるものはたいていx86だけ。
- 839 名前:login:Penguin mailto:sage [2008/09/19(金) 05:32:38 ID:PmgUOzFO]
- まあ、過去の経験からすると
・USBターゲット - ほとんど手を入れる必要無し ・PCI - そんなに苦労することはない ・CPU直結 - 健闘を祈る てところですかねえ。
- 840 名前:login:Penguin [2008/11/09(日) 10:59:58 ID:QBZrgAJi]
- age
- 841 名前:login:Penguin mailto:sage [2008/11/13(木) 05:29:37 ID:dS9nrsy0]
- USBデバイスでも無線LANとかは
- 842 名前:login:Penguin [2008/12/07(日) 17:23:17 ID:Ht7uJKzk]
- age
- 843 名前:login:Penguin mailto:sage [2008/12/19(金) 14:08:43 ID:MwDJWbRs]
- HWからの割込み処理中の、ローカルAPICへのEOI発行タイミングについて質問があります。
レベル・トリガの割込みだった場合は、end関数からEOIを発行しています。 これは、割込み処理の先頭で発行してしまうと、I/O APICへEOIが通知され、デバイスのアサートが 失われてしまうのが不都合だからでしょうか? カーネルのverは2.6.18 です。
- 844 名前:login:Penguin mailto:sage [2008/12/20(土) 08:40:05 ID:9ZJbjYSC]
- >>843
一般的な話だけど 割り込みに関わるのは3つ。 @割り込み発生の条件と、割り込み要求するデバイス A割り込みを調停する割り込みコントローラと、割り込み受付のカーネル B実際の割り込み処理プログラム @→A→Bの流れは分かるよね それなら質問の答えも分かるよねw わんこ蕎麦に例えると @>>843のお椀の蓋が開いてる A>>843のお椀に蕎麦を放り込むおばちゃん B蕎麦を食べる>>843 満腹になった>>843Bが最初にすべきは、@の処理かAの処理か
- 845 名前:login:Penguin mailto:sage [2008/12/21(日) 18:36:36 ID:6RSqLOEI]
- >>844
「ご馳走様でした」と言いながら金を払わないで蓋も開けっ放しで逃げる。
- 846 名前:login:Penguin mailto:sage [2008/12/21(日) 19:17:37 ID:otIiAnj0]
- ダブルフォルト乙
- 847 名前:login:Penguin mailto:sage [2008/12/22(月) 03:52:28 ID:guo09gfy]
- (1)はおばさんのスピードに勝てないと判断して、(2)のおばさんに話し掛けるよな
もうお腹いっぱいって
- 848 名前:login:Penguin [2009/01/24(土) 00:42:09 ID:UJ+xFTUa]
- a
- 849 名前:login:Penguin mailto:sage [2009/02/17(火) 22:55:17 ID:m2mCukTw]
- ポートIOするサンプルを作ってみようと思ったのですが、
下のコードの時点で、すでにコンパイルが通りません。 sys_ioplを呼ぶのに、何が足りないのか分からないです。 どうしたら良いか、アドバイス頂けたら助かります。 よろしくお願いします。 debian 2.6.24 gcc 4.1.2 make -C /lib/modules/2.6.24/build M=/test module error: implicit declartion of function 'sys_iopl' --- #include <linux/init.h> #include <linux/module.h> #include <linux/io.h> #include <linux/ioport.h> static int __init hello_init(void){ sys_iopl(3); return; } static void __exit hello_exit(void){ return; } module_init(hello_init); module_exit(hello_exit);
- 850 名前:login:Penguin [2009/02/17(火) 22:55:48 ID:m2mCukTw]
- すみません、sageてしまいました。
- 851 名前:login:Penguin mailto:sage [2009/02/18(水) 00:04:19 ID:lQ8CDN9P]
- 根本的に間違っているような気がするので、
もう少し具体的にやりたいことを書いた方がいいと思う。 取り合えずドライバでioplはいらねえ。
- 852 名前:login:Penguin mailto:sage [2009/02/18(水) 01:04:31 ID:WJ6360yx]
- >>851
もしかして、ドライバ内では、ポートにアクセスするのに、iopl自体が使えないということでしょうか? そうすると、request_regionしていくしかないということですかね。 それとも、アクセス許可自体が必要ないのでしょうか。 元々、独自PCI-I/Fボードにアクセスするアプリがありまして、 それの、ドライバ版を作ろうと思いました。 そのアプリでは、iopl(3)→outb(),inb()にて値を取得していたので、同じ様に作っていたところでした。 PCIからのポートアドレス取得が上手くでき、そのアドレスにアクセスする段階だったのですが、 ioplでどうしてもコンパイルが通らず、includeの問題なのか、Makefileなのか、 途方に暮れてました。>>849はそのテストプログラムを抜き出しです。
- 853 名前:login:Penguin mailto:sage [2009/02/18(水) 01:38:21 ID:lQ8CDN9P]
- なんでドライバにする必要があるのかよくわからんが。
そういうレベルでわからんのであれば、まずは馬本で基礎知識を 身につけた方がいいと思う。 ついでに、sys_ioplの呼び方はそうじゃない。 つうかカーネルの中でsys_〜は直接呼ぶもんじゃない。
- 854 名前:login:Penguin mailto:sage [2009/02/18(水) 12:48:39 ID:WJ6360yx]
- >>853
ありがとうございます。 ドライバ版の意図は、いずれ割り込みを使うつもりだったからです。 馬本は十分理解できなかったので、とりあえず作ってみるという感じでやってました。 sys_ioplは呼んではいけないんですね。 馬本、もう一度読んでみます。
- 855 名前:login:Penguin mailto:sage [2009/02/18(水) 16:25:38 ID:zpaCJvuo]
- 馬本はカーネルの知識がある程度ある前提で書かれてるので
まずはLinuxカーネルに関する文献を読んでみることをおすすめするよ デバイスドライバはカーネルの一部でもあることを忘れるな
- 856 名前:login:Penguin mailto:sage [2009/05/29(金) 14:40:20 ID:D/EXOrYt]
- Kernel 内で IN/OUT アセンブラ命令に相当するのは
何かマクロがあるんじゃなかったっけ? READ_PORT とかそんなの。
- 857 名前:login:Penguin mailto:sage [2009/05/29(金) 23:00:18 ID:A6oE+oT8]
- in[bwl]
out[bwl] とか。 include/asm/io.hに入ってたはず。
- 858 名前:login:Penguin mailto:sage [2009/07/04(土) 14:39:23 ID:D5yvn6Kc]
- シリアルドライバ内の情報で、何バイト受信済みとか、何バイト未送信という情報って
取得することは可能ですか?
- 859 名前:858 mailto:sage [2009/07/04(土) 16:35:43 ID:D5yvn6Kc]
- 補足です。
上記の情報をアプリケーションから取得できますか?
- 860 名前:login:Penguin mailto:sage [2009/07/05(日) 02:17:52 ID:vnzKXmwE]
- >>859
ioctlでTIOCINQとかTIOCOUTQみれば出来そう。 つーかマニュアル嫁よ。せっかくあるんだからよ。
- 861 名前:login:Penguin mailto:sage [2009/07/05(日) 14:39:25 ID:jkHVDhT6]
- ヌルイぞ。そこは
つーかソース嫁よ。せっかるあるんだからよ。 だろ。ソース以上の資料なんかないんだからOSSってのは質問禁止なんだよ。 ・・・ってえらいひとがいってました!
- 862 名前:login:Penguin mailto:sage [2009/07/05(日) 23:11:19 ID:vnzKXmwE]
- >>861
その偉い人は馬鹿だよ
- 863 名前:login:Penguin mailto:sage [2009/07/05(日) 23:20:49 ID:xNWd+cLB]
- どこでも、えらい人は馬鹿なもんさ。
- 864 名前:login:Penguin [2009/09/19(土) 20:24:56 ID:I29pddJ7]
- 保守上げ
- 865 名前:login:Penguin mailto:sage [2009/10/12(月) 16:24:20 ID:cJbteqq9]
- >>861
× だろ。ソース以上の資料なんかないんだからOSSってのは質問禁止なんだよ。 ○ だろ。ソース以外の資料なんかないんだからOSSってのは質問禁止なんだよ。
- 866 名前:login:Penguin mailto:sage [2009/12/03(木) 22:11:10 ID:s69LcKJk]
- i386BSDカーネルの386BSDカーネルソースコードの秘密
ソース以上の資料なんかないんだから、に対して何か書いてあったな。
- 867 名前:login:Penguin mailto:sage [2009/12/03(木) 23:11:02 ID:LYVup2we]
- >>866
ソースそのものと、ソースにこめられた趣旨は別じゃないかな?
- 868 名前:login:Penguin mailto:sage [2009/12/10(木) 00:21:58 ID:XvjOUXRH]
- UTSL だな。
- 869 名前:login:Penguin [2010/02/18(木) 10:40:00 ID:hWc/MwlX]
- linuxmintとウィンドウズ7RCを使っています。WIN7は試用なので来月から起動後一時間で自動で電源が落ちるようです。
リナックスに乗り換えるのは簡単なのですが、今使ってるテレビチューナーのドライバがリナックスには無いのです。 だれかmvp-rx3のドライバを書いてください。 このままではリナックスでテレビが見られず、リナックスをあきらめてウィンドウズのところにお嫁にイかされてしまいます。 テレビを見るためにはリナックスをお慕いもうしあげていますのにウィンドウズを買わなければならない境遇に どうかどうか同情をしていただけるスーパーハッカーの方はドライバ書いてくださいませんか。 生きていくためには愛をもあきらめゲイツに身をゆだねなければならないのかと震えております。 ちなみにあたし女子中学生です。生娘です。似ている芸能人は17歳のころの広末涼子です。
- 870 名前:login:Penguin mailto:sage [2010/02/18(木) 19:21:20 ID:tk+7V5La]
- >>869
GV-MVP/RX3 www.iodata.jp/product/tv/analog/gv-mvprx3/ mvp-rx3はアナログTVキャプチャーボードですね。 2011年7月にアナログテレビ放送が終了するので どのみち地上デジタルテレビチューナーが必要になります。 Windows7を買う金でPT2を買ってLinuxで使う方がよいと思います。 PT2なら地デジでもコピーワンスによる不便から逃れられます。 日経Linux 2010年2月号 itpro.nikkeibp.co.jp/article/MAG/20100105/342880/ > 特集2 > PT2で地デジ録画システムを作る > パソコンで地上デジタル放送や衛星放送を受信できる > デジタル・チューナ「PT2」を使ってシステムを作ります。 > 最新のLinuxディストリビューションのFedora 12とUbuntu 9.10で > PT2のドライバをインストールし,高画質のテレビ番組を見てみましょう。 > 番組表から録画予約する方法も紹介します。 【視聴】Linuxでデジタル放送【録画】 pc11.2ch.net/test/read.cgi/linux/1230616112/
|

|