2010-03-01から1ヶ月間の記事一覧

ソフトウェア割り込みのc⌒っ゜д゜)っφ メモメモ...

オレオレカーネル用のソフトウェア割り込みにやっと手を出したたので、メモっときます。 まぁ、今更なネタだし面白くないですけど。 ソースはいつもながらgithubに。流れ的には、こんな感じです。 1.設定 2.(どっかから)システムコール呼び出し 3.アセンブ…

procfs経由でデータの読み書き

今日はprocfs経由でデータの読み書きしようというのをやってみました。ここを参考にしました。 The Linux Kernel Module Programming Guideこんな感じの動作になります。 lisa:~# cat /proc/proc_test Hello, World lisa:~# echo -n "foobarbaz" > /proc/pro…

linuxにシステムコール追加

久々にやってみようと思って、2.6.33でシステムコールの追加をしてみました。 やってみたら新しい発見があったり面白いですね。copy_buffer.cというファイルは新規に作ったのと、それようにMakefileを弄ってます。 他のファイルはシステムコールを追加するた…

ページング使ってるときのTSS設定.

c⌒っ゜д゜)っφ メモメモ... 自作カーネルでTSSを使ったタスク切り替えをしてて,かなりハマったのでメモっときます. ページング無+TSSでコンテキストスイッチは動いてたのに,ページング有+TSSだとセグメント間ジャンプしたときに落ちてて悩んでたんだけ…

自作カーネルでコンテキストスイッチを実装したいので,Minix3.1.0のやり方を調べる.

Minixでコンテキストスイッチする部分は,処理内容的にkernel/mpx386.sのrestart()っぽいのでこれを見ます. 実装はアセンブラだけど,cからも呼べるようにkernel/proto.hにプロトタイプ宣言があります. _PROTOTYPE( void restart, (void) ); といっても,…

libusb-1.0のメモ

twitterの極一部で熱狂的ブームになっているYUREXを入手したので,libusb-1.0で遊んでます. ということで,その辺のc⌒っ゜д゜)っφ メモメモ... コードは割とやっつけです・・・ libusbはこちらの 「Introduction to using LibUSB-1.0」を参考にしてます.ド…