2006-05-01から1ヶ月間の記事一覧

8259A 初期化

マクロから類推できる範囲で解析。ペンディングにしている APIC マワリな部分についても早めに見とく必要がありそうな気が。

ようやく init_8259A()

spin_lock なナニは別途として中身を。

include/asm-i386/io.h について

{in|out}[bwl] に関するメモ。

プリプロセッサ

ドキュメントとしてのプリプロのナニはインターネトなリソースとしては無いのか。仕方が無いので技術評論社の C 言語辞典を調べた。が、微妙に意味が分からん。ので、プリプロの機能確認なソースをこしらえて cpp に通してみた。 #define __BUILDIO(bwl,bw,t…

inline assembly

include/asm-i386/io.h の BUILDIO が読めたから何だとゆーのだ、と思いつつも我慢できず、アセンブラな情報を手繰る。hit するのは英語な情報ばかり。 GCC-Inline-Assembly-HOWTO Inline assembly for x86 in Linux もう一点は PDF な文書。Using the GNU C…

用語集に hit しねぇと思ったら

_IOポート_ぢゃなくて_I/Oポート_で hit した。なんか駄目。

何故に

キース・ムーンとかチャーなんだ? # いや、好きなんですが。

む (IO ポートの読み書きについて)

init_8259A()#arch/i386/kernel/i8259.c やら i8259A_irq_type なメンバに登録されている関数等を読むにあたって、io port にアクセスする関数群を何とかしないとね、と思いつつ man 見ても関数名でググッても何も出てこず (探し方が悪いのも承知しとるんで…

init_IRQ() の続き

init_IRQ() を追いかけるの続き。これ系のエントリは早目にカテゴリでまとめた方が良さげ。

ヤバい

何だこれわ。 IA-32 Intel Architecture Software Developer s Manual 8259A PROGRAMMABLE INTERRUPT CONTROLLER (8259A8259A-2) 寝れなくなりそうだよ。明日はクマノミ君と再会なハズなんですが。

irq_desc_t 型

掘り下げていってるんですが、まだまだ穴は深いんだろうな。(当たり前

むむむ

忘れてた。前提を書いとく。 kernel のバージョンは 2.6.12.2 (これはamazon:Linux カーネル解析入門で使用されているバージョンなんで) 最初は i8259A ってコトでトレース。APIC なナニは別途。 きちんと検証できたら成果を読学のススメ方面に反映させたい…

init_IRQ() を追いかける

まず、init_IRQ() → pre_intr_init_hook() → init_ISA_irqs() のあたりを調べてみる。

データ構造を

などと偉そうなコトを言いつつ、よく考えたらamazon:Linux カーネル解析入門にある通り、初期化しているあたりから読まねーと意味が分からんコトに気づく。(遅 読まんとね、という部分を以下に列挙。(箇条書きの階層深いが大丈夫か start_kernel()#init/main…

どうも余計なトコに目がいく悪い癖が

hw_irq_controller 型 (hw_interrupt_type 構造体) irq_desc_t 型 (irq_desc 構造体) irqaction 構造体 について調査を、と思ってたんですが、irq_desc 構造体の定義に挿入されておる ____cacheline_aligned なるナニが気になり、調査中に firefox がカタま…

interrupt シンボルの解決

void __init init_IRQ(void) { int i; /* all the set up before the call gates are initialised */ pre_intr_init_hook(); /* * Cover the whole vector space, no vector can escape * us. (some of these will be overridden and become * 'special' SMP…

今回の割り込みの勉強で

気がついたコト。 HDD を認識しない自宅デスクトップ PC はもしかして APIC 搭載ッスか?と思い確認した所どうやらそうらしい事が判明。現在 APIC なナニをアレして make-kpkg 中だったり。ーー追記ーー おっと、そーゆー意味じゃ objdump したりデキるな。(…

etags スクリプト作成してみた

ビンゴかどうか別として。 #!/bin/sh KERNEL_DIR=$HOME/kernel/linux-2.6.12.2 if [ ! -d $KERNEL_DIR ] ; then echo "$KERNEL_DIR not found" >&2 fi if [ -f $KERNEL_DIR/TAGS ] ; then rm -f $KERNEL_DIR/TAGS fi cd $KERNEL_DIR LIST="./arch/i386 ./usr…

ちょっと前進

昨晩ハマった原因は、etags の作り方にも問題があるらしい。違うアーキテクチャなソースとかヘッダなんかに紐が付いてるケースあり。ただし、gas の .rept の理解不足が一番の原因。以下にハマって解決できている部分までをメモっとく。(ロギング大切と言っ…

ばいなりあんへの路は

まだまだ遠い。入門編と書かれている interrupt#arch/i386/kernel/entry.S が読めません。その先にも謎が満載。具体的に書けないあたりもナニ杉。

なんかオモロげなの発見

FREE ONE-TIME SECURE WEB MESSAGING SERVICE だって。 悪用された挙句にサービス終了しない事を祈りつつ。

as の directive について

拠り所が無く、根拠となる資料を探すも、ハマる。酔ってやっちゃダメ && 検索の仕方が悪杉。サエねぇ時にやっちゃ駄目だな。

firefox

セキュリティ・フィックスがはいったらしいんだけど、重い。デグレ臭い。 ってか使えねー。

scheme

一部でブーム発生している模様。SICP もきちんと読みたい本の一つ。ちなみに我が家では書棚のコヤシになっているのが現状。 とりあえず今やんなきゃ、なコトをサバくのみ。

Linuxカーネル解析入門

フォーカスを NIC に当ててその準備に力が入っている。切り口として、良いモノを感じつつ、読んでるんですがなかなかハードル高し。http://www.amazon.co.jp/exec/obidos/ASIN/4777511898/qid%3D1146485756/249-8281541-9201942