QEMU-0.8.0デバッグ中
実況中継気味。
検証1
- QEMUのne2000.cにデバッグ文埋め込みスタート
- #define DEBUG_NE2000を有効にする
- 初期化処理っぽい、void pci_ne2000_init(PCIBus *bus, NICInfo *nd)の先頭でTRACE
→何も表示されず。ビルド時に何か指定する必要あり?
検証2
./configure --helpしてみる。
→特にそれらしいオプションはない。
検証4
pci_ne2000_initの呼び出し元であるpc.cの
/* PC hardware initialisation */ static void pc_init1
の呼び出し直後でTRACE
→呼ばれている
ではどこでpci_ne2000_initがカットされているんだろうか?
id:higepon:20060212:1139757670のelispを利用してがんがんTRACE文を埋め込む
if (pci_enabled) { for(i = 0; i < nb_nics; i++) { pci_ne2000_init(pci_bus, &nd_table[i]); }
ここのpci_enabledには入っているが、ループが回っていない。
nb_nicsが0っぽいな。
やっと分った。
起動オプションで
-net nic -net tap,ifname=my-tap
とするべきところを
-net tap,ifname=my-tap
としていた。
これははまるなぁ。 -netというオプションが2回も出てくるはずないと思って削ったんだろうなぁ。。。
でもとりあえずひとつクリア。
明日はパケットがうまく取れない件を調べます。