なんか、学生が30日OSやってて、qemu 経由で gdb で debug したいと。x.v6 でいいじゃんと思わなくもないんですが...
じゃぁ、elf 形式で kenrel 作ってやって、qemu の debug mode 使えば? ってことなんですけどね。つうことは、
elf 形式用のlink script を書く
ってことだよな。a.out でいいんじゃないか説もあるんだけど。30日OSは、フロッピィbootで書いてるらしい。
qemu -kernel kennel.elf
でいくかと思ったんですが、なんかだめ。そうですか。
でも、floppy 上の IPL のアセンブラと Linker script を合わせればいいんでしょ?
なんか地獄のように合わないぞ〜 でも . = 0xd030 ; とかなんとか書いて、gdb 側でentry point 確認して的な。でも、やっぱりずれてるので、
面倒くさいので、ずれてるentryをそのままIPLに書いた
いや、でも、gdbからの disass は合ってる。意味わからん...
でも、それでも、IPLから飛んだ先の int 0x10 ( VGA deviceの初期化) で飛んでるようです。おそらく、スタックの初期化にしくじってるな。
No comments:
Post a Comment