qemu

QEMU の -net user

QEMU の -net user はとても便利なのだがゲスト OS に DHCP クライアントを備えていることを要求する。 NIC ドライバやプロトコルスタックを少しずつ積み上げて開発することに QEMU を使用している自作 OS にはやさしくない。 QEMU は MAC アドレスを知って…

QEMUは kqemu を使わないとデバッグレジスタが使えない

QEMUは kqemu を使わないとデバッグレジスタが使えないっぽい。 Ubuntuに kqemu を入れた。 wget http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz tar zvxf kqemu-1.3.0pre11.tar.gz cd kqemu-1.3.0pre11 ./configure make sudo make install …

QEMUのDR6のステップ実行パッチ

[qemu-discuss] [PATCH] target-i386: DR6 single step exception status bitkqemu を使えばデバッグレジスタはそのまま使えそうな雰囲気だよな。 逆に kqemu を有効にしないと使えない? 別件 再聊 CPUState、qemu 的 gdbserver何やら面白そうな事が書いて…

割り込みきた

「QemuのNE2000から割り込みが来ない」と書いたがやっと割り込みが来た。 uIP も動いている。 以下詳細なデバッグログ。(ほとんどの人には役に立たないと思う)

QemuのNE2000から割り込みが来ない

QemuのNE2000から割り込みが来ない。 割り込みがこないってのは、もはや合言葉になりつつある。 Qemuをソースからいれて DEBUG_NE2000 を有効にしたところ、ne2000_update_irq が呼ばれている模様。 つまりMona と Qemu の間で消失している(?)ということに。…

Ubuntu on Qemu on Ubuntu のネットワーク設定

Ubuntu 上で Qemu を動かすときのネットワーク設定のテストのためにゲストOSを Ubuntu にして起動してみる。 http://www.oszoo.org/wiki/index.php/Ubuntu-warty.zoo.tar.bz2 から Bittorrent で1GBほどのイメージをダウンロード。 起動 qemu -net nic -net …

パケット届いているのかよ調査2

実況中継気味。 todo 1. QEMU内でパケットが消失しているか? 2. プロトコルスタックの後半でパケットが捨てられていないか? 3.MonaからのパケットのIPヘッダのFlagsは0 4.MSSが1446になっているが、データサイズが安定していない 5.MonaからのAckパケットに…

パケットちゃんと届いてるのかよ調査

uIPがパケットを受信した直後(パケットのdrop判断をする前)にTCPパケットをlogprintでdumpするようにした。 logprintfはserial portに出力するのでQEMUを --serial file:serial.logと起動してみたがだめだった。 id:Yamami:20050516#p1のように、vl.cに直接…

レスポンスが途中できれてしまう件の調査

実況中継気味 以前のバージョンのQEMU + Mona でも、QEMU-0.8.0でも発生する問題。 現象 Monaからはてなダイアリーなどを HTTP GET したときにGETした内容が途中できれてしまう。 長いパケットが途中できれてしまう疑惑。 検証1 どこの段階でパケットが切れ…

パケットが切れる件

GETリクエスト不正の原因調査 Etherealレベルでパケットが切れているか再調査 切れている場合はTAPを再インストールしてみる。 の3つを調査。 GETリクエスト不正はバグだった→修正 Etherealレベルで見ると、正確には「パケットが全部届いていない」 TAPは専…

QEMU(TAP)でデータ受信ができない件の調査(その後)

kazuさんからLinuxだとIRQが11だと情報を頂き、早速試して見たところうまくいきました。 情報ありがとうございました。 結局、まとめると 現象:Monaからのパケット送信はできるが受信ができない 原因:IRQが間違っていたので割り込みが来ずパケットの受信だ…

QEMU(TAP)でデータ受信ができない件の調査

以下の手順で調査中。 readができていないということは、割り込みがきていない? NicServerレベルでは割り込みがきていない? ではkernelレベルでは? → irq 9に割り込みがきていない。 NE2000: Set IRQ line 16 to 1 (43 01)というメッセージがQEMUコンソール…

QEMU-0.8.0デバッグ中

実況中継気味。 現象 QEMU-0.8.0(with vlan, tapパッチ)でMonaを実行するとNE2000が見つからない。 検証1 QEMUのne2000.cにデバッグ文埋め込みスタート #define DEBUG_NE2000を有効にする 初期化処理っぽい、void pci_ne2000_init(PCIBus *bus, NICInfo *nd)…

QEMU-0.8.0をWindowsでビルドする方法(How to build QEMU-0.8.0 on Windows MinGW)

QEMUのTAPあたりをデバッグする必要があったのでQEMU-0.8.0をビルドする方法を調べたのでまとめておきます。 方法は、基本的にQEMU同梱のqemu_doc.htmlに従っています。 1.http://www.mingw.org/からMinGW、MSYSをダウンロードしてインストール。(そのときの…

む?NE2000が見つからない?

QEMU on Windowsさんの配布する vlan, tapパッチを取り込んで START /MIN qemu.exe -L . -cdrom C:\higepon\MonaNew\tool\mkimg\mona.iso -net tap,ifname=my-tapと起動した。(tapオプションがアクセプトされているのでパッチはあたっていることが確認でき…

ビルド環境を整える

qemu-0.8.0/qemu-doc.html#TOC55にしたがってビルド環境を整える。 SDL-1.2.9をダウンロードして見たものの sdl-configをどう書き換えればよいのか分からないの調べ中。

QEMU on Windowsの中の人のblog

http://blogs.dion.ne.jp/kazuu/ 今いろいろとTAPの件でお世話になっているのですが、kazuuさんのblogを読んでいるとQEMUをいじるのはかなり楽しげです。 僕が内側の人だとしたら、kazuuさんは内側の裏側の人って感じでしょうか。

QEMUのTAP

MonaではQEMU on Windowsさんの配布しているQEMUを使わせていただいています。 例えばMona 0.3.0alpha7ではqemu-20050121-tap-windowsを利用し START /MIN qemu.exe -L . -cdrom mona.iso -tap my-tapのように起動してMona(Guest)からネットワークに接続して…