qemuのページ

特徴

  • 速い
  • 仮想86モードサポートあり
  • VESA-2サポート、8bit、16bit、32bitで、それぞれ1024x768までOK。

既知の問題点

  • PITが少しおかしい
    • PITを10ミリ秒以上の周期で使う分には問題はないが、これより短い周期だとおかしくなる。最初は仕様だと思い込んでいたが、qemuのソースを読むうちに意図しない動作(=バグ)ではないかと思うようになった。
    • 上記を確認できる簡単なテストプログラムを用意してみた。
      • http://k.hideyosi.com/test068.lzh (7.07KB)
      • http://www.freeoszoo.org/ftp/qemu/win32/ のCVS-20041220版で試した。
      • 1ms.bin(1ms.bat)では明らかに時間が進むのが遅くなっているが、50ms.bin(50ms.bat)ではそういうおかしな挙動はない。
      • いちおうbochs-2.1.1用のbochsrc.txtも入れたが、bochsだと1msも50msも期待通りに全く同じ速さで動く。
      • このtest068がちゃんと動くようになればOSASKも正常な速さで動くようになると思います。OSASKよりもtest068のほうが小さいので(実質185バイト)、テストするならtest068のほうがいいと思います。
  • キーボードまわり
    • NumLockがきかない?
    • @`キーがきかない?
    • @[]`{}_がずれている?(_は入力できない)
    • -k ja オプションで解消できるといううわさもあります。
  • (カーソルキーの問題は解決済みです)

ささやかな要望

  • (今のところなし)

報告があったが再現できなかった指摘

  • (今のところなし)

リンク

こめんと欄

  • カーソルキーが効かない? Linuxだと、pokonで↑↓キー使ってアプリ選択して起動できたけど-- 2004-04-12 (月) 16:07:06
  • Linuxではカーソルキー使えるんですか・・・うらやましい。 -- K 2004-04-13 (火) 01:05:10
  • VESAの画面モード番号うんぬんについてですが、24bitカラー版が標準番号に割り当てられているのはもちろんひとつの仕様として有効です。でもOSASKにとってはちょっと不便だなあ、と(設定ファイルを書き換えればいいだけなのでそれほど問題じゃないですが)。メジャーなカードだと32bitのほうを標準番号に割り当てるのでそっちのほうがうれしいかなと、ちょっと気になっただけです。>さっきちょっとだけこめんと書いてくれた人 -- K 2004-04-13 (火) 01:07:58
  • リンクは、dev-jや本家にもはったほうがいくない? ところでBellard氏の代理としてかいているんですか? -- 2004-04-13 (火) 15:12:51
  • ご指摘ありがとうございます、dev-jへのリンクは貼ります。このページはprojectsのカテゴリではなく、softwaresのカテゴリとして書いています。だから僕はqemuの作者の代理として書いているわけではありません。もしqemuの作者がこのページを直接管理してprojectsに登録したいということであれば、僕はすぐにこのページの編集権を移譲します。 -- K 2004-04-13 (火) 16:25:21
  • 微妙にページ違いだけど、自分のお気に入りのソフトのページは勝手につくっていいんですか? それともそれは管理者専用? 頭悪くてすみません -- 2004-04-13 (火) 16:47:54
  • softwaresの註をよく読んでください。その条件に合致していれば、管理者(僕やZAKKYさん)じゃない人がソフトウェア紹介ページを作っていいです。というかぜひ作ってください。 -- K 2004-04-14 (水) 01:54:45
  • たとえばVMwareやVirtualPCやgccはMonaが使っていますし、他のOS開発にも使える一般的なツールですので、ページを作っていいです。 -- K 2004-04-14 (水) 01:58:26
  • 納得しました。 -- 2004-04-14 (水) 17:36:08
  • http://reactos-j.sourceforge.jp/up/img/018.zip こんなの発見。どうぞ。 QEMU CVS(040414+jp106patch) -- 2004-04-14 (水) 20:30:55
  • すごいのきたー。カーソル動きます、とてもうれしいです。ありがとうございました。 -- K 2004-04-14 (水) 21:46:32
  • ビルドしたわけでもないのに感謝されるのはなんかちがうyp ROSスレの(ryの人あたり(だよね?)に感謝すべきかと。 -- [[ 2004-04-14 (水) 20:30:55]] 2004-04-15 (木) 15:28:57
  • どちらにも感謝です。ビルドしてもらえなければ使えないけど、教えてもらえないとやっぱり使えませんから。 -- K 2004-04-15 (木) 15:47:23
  • スレでみなさまが英訳を頼んでいるようでつ。 -- 2004-04-15 (木) 20:53:09
  • おおありがたい!ええとですね、それじゃあ、とりあえずこうしてください。1.VESAのことはvgabiosの問題なのでいちいち報告しない。2.STIの件は致命的で悩ましいのでありますが、再現しやすいコードができるまでは報告しない。・・・ということで、PITとIMULの件だけ報告してください。 -- K 2004-04-16 (金) 14:27:55
  • vgabiosはvgabiosにちょっとパッチを当てればいいことで、そんなのは僕でもできます(めんどくさいから他にも困っている人が出ない限りやりませんが)。STIの簡潔再現コードはうまくできたらここで報告します。それからqemuの作者さまに連絡すればいいかと。 -- K 2004-04-16 (金) 14:30:22
  • IMULは負の定数だからまずいんじゃなくて、EAXの範囲の問題かもしれません。確認していません。しかしとにかくIMUL(EAX, -8);がおかしな結果を返す場合があるのは真実ですし、IMUL(EAX, 0x55);が正しい結果を返す場合があるのも真実です。 -- K 2004-04-16 (金) 14:39:08
  • STI問題そのものは040414版では解決しているようです。次なる問題はCLIしているのにIRQ0を拾ってしまうらしいことです。IMRでIRQ0をマスクしておくと拾いません。拾っているというか、qemu内部で暴走してしまっている可能性もありますが、まだ詳細は分かりません。 -- K 2004-04-16 (金) 15:31:21
  • ↑をもっとよく調べました。とりあえず詳細が分かりました。短いテストプログラムを書き上にまとめたので、チェックしてください。>2chのみなさま -- K 2004-04-16 (金) 22:52:29
  • dd if=in.img of=out.img count=2880 で、Linuxだと簡単に後ろ埋められますね。 -- 2004-04-17 (土) 13:17:33
  • winやdosでも、imgtol e in.img out.img 1440 で簡単に埋められます。参考:IMGTOL。要点は埋められるかどうかではなく、埋めなくてもいいかどうかです。 -- K 2004-04-17 (土) 13:24:54
  • VESAの画面モードの件はqemuの問題ではないのでコメントアウトすることにしました。読み手が混乱するといけないので。 -- K 2004-04-17 (土) 19:11:20
  • また新しいバージョンが、ROS-jのうpろだに出ていますne -- 2004-04-18 (日) 19:13:24
  • ご連絡ありがとうございます。 -- K 2004-04-18 (日) 20:22:04
  • dev-j:qemuが段々hatten厨 -- 2004-04-22 (木) 13:50:11
  • imulと0x82の件、本家cvsにpatchが取り込まれたようです。おつかれさまでした。 -- 2004-04-23 (金) 08:37:42
  • めでたいです。今度はビデオ周りの障害を見つけてしまいました。現在テストプログラム作成中です。 -- K 2004-04-23 (金) 15:24:07
  • できました。↑のtest059を参照してください。 -- K 2004-04-23 (金) 22:17:52
  • qemu/bochs用のvgabiosを書きました。画面モード0x112、0x115、0x118が32bit/pixelになります(その代わり0x142~0x144が24bit/pixelになります)。 http://210.143.101.6/~mone/osask/osask_ml/200404/msg00023.html -- K 2004-04-23 (金) 22:23:53
  • 僕が作ったvgabiosはバグバグのようです。OSASKくらいしかまともに動きません。MonaもNWSOSもうまく動かせませんでした。このまま終わるのはくやしいので、気長にバグをつぶすことにします(詳細は[OSASK 6919]を参照)。 -- K 2004-04-24 (土) 00:32:01
  • なおりました。MonaとNWSOSがちゃんと動きます。 http://210.143.101.6/~mone/osask/osask_ml/200404/msg00025.html -- K 2004-04-24 (土) 01:37:54
  • test055の問題はwin32でのみ起こるようです。Linuxではどちらも完走しました(今日のCVS)。test059はどちらも"Can you see..."を表示できませんでした。 -- 2004-04-24 (土) 08:28:58
  • おお、どちらの報告も大変参考になります。ありがとうございまず。早速上記に追記しました。 -- K 2004-04-24 (土) 12:33:29
  • test055ですが、linuxでもdown.binを繰り返し実行すると数回に一回程度落ちます。気のせいかもしれませんが、stripしたバイナリでは落ちる頻度が低いようです。win版ではstripしてないバイナリはほぼ毎回落ちますが、stripするとあまり落ちなくなります。 -- 2004-04-24 (土) 14:39:44
  • stripの件はランダムに落ちてるので見分けがつかないのが本当みたいです。 -- 2004-04-24 (土) 14:47:25
  • 追加報告ありがとうございます。追記しておきました。パッチ開発者の参考になればいいのですが。 -- K 2004-04-24 (土) 16:56:07
  • XP動いたne- -- 2004-04-24 (土) 21:23:15
  • FDイメージって1.44じゃなくても動くでしょ?osageは23kbyteのイメージだけど動くよ。 -- 2004-04-25 (日) 00:21:57
  • おやそのとおりでした。ご報告ありがとうございます。こちらでtest057で試したところ、1055バイト以下では起動しませんが1056バイトになると起動しました。何でこんな半端なサイズで動作が分かれるのかがなぞですが、まあ1.5KB以上なら動くみたいなので実害はなさそうです。ということで、このささやかな要望は取り下げます。 -- K 2004-04-25 (日) 02:15:06
    119     /* see if it is a cow image */
    120     if (read(fd, &cow_header, sizeof(cow_header)) != sizeof(cow_header)) {
    121         fprintf(stderr, "%s: could not read header\n", filename);
    122         goto fail;
    123     }
    			    
  • block.cのこのあたりが悪いのかな。誰か暇な神が修正していただけるとユーザもK氏も助かると言う罠。 -- 2004-04-25 (日) 17:40:10
  • 前後が分からないのでなんともいえませんが、いかにも怪しそうな個所ですね。cow_headerという構造体はどんなものなんでしょうか。 -- K 2004-04-26 (月) 23:57:38
  • 0x82問題とIMUL問題は解決して久しいのでコメントアウトしました。 -- K 2004-04-27 (火) 00:07:16
  • あれもしかしてqemuのwin32版はテンキーが利かない?Enterや演算子キーは利きますが、数字やピリオドが利いていない感じです。他の方のところでも再現するでしょうか? -- K 2004-04-27 (火) 00:11:29
  • Numlockかな? -- ZAKKY? 2004-04-27 (火) 00:31:24
  • おお、そのようです。NumLockのコードが伝えられていないようです。OSASKで試したらNumLockの状態にかかわらずカーソルキーとして機能していました。 -- K 2004-04-27 (火) 11:50:00
  • CVSからソースとれますyp本家からリンクどうぞ。WindowsでもCVSは使えるはずです。とりあえず一部 block.c
          84     struct cow_header_v2 cow_header;
    cow.h
          1 /* user mode linux compatible COW file */
          2 #define COW_MAGIC 0x4f4f4f4d  /* MOOO */
          3 #define COW_VERSION 2
          4 
          5 struct cow_header_v2 {
          6     uint32_t magic;
          7     uint32_t version;
          8     char backing_file[1024];
          9     int32_t mtime;
         10     uint64_t size;
         11     uint32_t sectorsize;
         12 };
    • 2004-04-27 (火) 16:30:13
  • おお、おかげでよく分かりました。僕なりの修正案を提案します。 -- K 2004-04-27 (火) 19:04:05
        /* see if it is a cow image */
        cow_header.magic = 0;
        if (read(fd, &cow_header, sizeof(cow_header)) != sizeof(cow_header)) {
            if (cow_header.magic == COW_MAGIC) {
                fprintf(stderr, "%s: could not read header\n", filename);
                goto fail;
            }
        }
  • minifsos.lzhでやってみました。(Fedora Core 1) Booting from floppy...まではでますがその後セグメンテーション違反で落ちます。cat fdimage.bin /dev/zero | dd count=2880 of=a.imgでつくったa.imgだと無事グラフィックが出ます。 -- 2004-04-27 (火) 20:57:43
  • 詳細なご報告をありがとうございます。ここ以外にもcow_headerを使っているところがきっとあって、そこで落ちてしまっているのでしょう。めんぼくない。 -- K 2004-04-27 (火) 22:17:49
  • ソースのfdc.cを読んでいると、どうやらqemuはサイズからディスクタイプを判別しているようで、しかもどのサイズか分からない場合は、1440KBのFDフォーマットでなく1600KBフォーマットのFDであると仮定しているようです(関数fd_revalidate)。でもこれは9KB未満のイメージでは影響がないと思うので、minifsosの一般保護例外は関係ないでしょうねえ。むしろosageが動いてしまうほうが不思議になってきました。どうも僕は満足にソースを読みこなせていないようです。役立たずですみません。 -- K 2004-04-27 (火) 23:51:13
  • もしソースのどこで例外が起きているかが分かったら教えてください。 -- K 2004-04-28 (水) 00:02:35
  • 俺にはとても無理。すみません。タイマに関してFabriceたんのお話 http://mail.gnu.org/archive/html/qemu-devel/2004-04/msg00250.html -- 2004-04-28 (水) 17:28:20
  • http://pc3.2ch.net/test/read.cgi/os/1067482965/832 -- 2004-04-28 (水) 20:38:09
  • 2chでtest055修正パッチが出た模様(上のリンク) 誰か試して -- 2004-04-28 (水) 21:53:22
  • 「CLI時にPICが受けた割りこみ要求をSTIまで保留するバグがあるようだ」については、保留するのが正しいPICの動作なのでその修正はまずいような気がします。 -- K 2004-04-29 (木) 00:23:40
  • PICをエッジトリガにしている場合は(そしてAT互換機ではエッジトリガにしなければいけないのですが)、CLI中に受けた割り込みはPICの初期化コマンドを受けない限り、必ず保留されます。レベルトリガの場合はこの限りではありませんが。 -- K 2004-04-29 (木) 00:25:32
  • それとDOSやReactOSがVGABIOSで動かない件ですが、そりゃそうです。だってほとんどのファンクションをまだ書いていませんから。それは今後の課題です。まずはDOSを動くようにしたいですね。 -- K 2004-04-29 (木) 00:27:38
  • vgabiosのCソース http://savannah.nongnu.org/cvs/?group_id=891 釈迦に説法か -- 2004-04-29 (木) 00:45:38
  • http://reactos-j.sourceforge.jp/up 最新版 -- 2004-04-29 (木) 10:42:52
  • 「CPUが割込み自体をSTIまで保留するのは明らかにおかしい」とありますが、これはそのとおりだと思います。CPU側で保留するのはおかしいです。でもこれはqemuの実装がハードウェアどおりに分業していればの話で、そうでなければ中をチェックしなければ僕にはなんともいえませんが。とりあえず一連のパッチは試す価値があるように思います。 -- K 2004-04-29 (木) 11:58:28
  • 連休明けにとってきたCVSでtest059が正常に走る(win/linuxとも)ようになりました。ほかのモードも直っているといいのですが。 -- 2004-05-07 (金) 20:58:28
  • test055の件はmorphixwikiとサバンナのバグトラッカに2chのパッチを投げた人がいるようです。作者様が気づいて取り込むなりしてくれればいいのですが。 -- 2004-05-07 (金) 21:00:06
  • おお、そこまで進展しましたか。>test059、test055 じゃあ解決も時間の問題ですね。ご尽力くださった皆様にお礼申し上げます。 -- K 2004-05-08 (土) 00:40:09
  • test059は4/29のhw/vga.c 1.26のfixがきいたのかな。わかりませんが。 -- 2004-05-08 (土) 09:00:23
  • OSASKアプリで、マッピングエリアを取ってないのにマッピングするというバグを作ったんですけど、qemu (Linux)だと何事もなかったように動いてしまいました。ページフォルトはちゃんとしてるのに…… -- I.Tak.? 2004-05-15 (土) 21:57:47
  • 今日のCVSでPICのバグが直ったようです。down.bin を20回程起動しましたが、すべて完走しました。お疲れさまでした。-- 2004-05-21 (金) 07:06:55
  • たまにうわさになるqemu最新版のwin32版って、どこかにアップロードされてないかな。 -- K 2004-08-04 (水) 13:04:55
  • 0.6.0なら http://www.freeoszoo.org/download.php に。Mona/QEMUも0.6.0だったかな。 -- 名無しさん 2004-08-05 (木) 13:00:25
  • daily=CVS最新版,release=0.6.0リリース でつ。 http://www.freeoszoo.org/ftp/qemu/win32/ -- 名無しさん 2004-08-05 (木) 13:26:07
  • ありがとうございます! -- K 2004-08-05 (木) 23:01:24
  • 0.6.1リリースageしとくね。 -- 名無しさん 2004-11-15 (月) 20:13:51
  • トップからはたどれないけれどhttp://www.freeoszoo.org/ftp/qemu/win32/release/にある。 -- 名無しさん 2004-11-15 (月) 20:15:07
  • Win版です。グラフィックがi815なせいか、よくわかんないけど乱れます。 -- 名無しさん 2004-11-16 (火) 02:20:46
  • qemuのPIT周りは仕様ではなくバグではないかと思うようになったので、test068を作りました。 -- K 2004-12-26 (日) 16:45:15
  • -k jaオプションでキーボード周り改善されるかも(嘘だったらおゆるしを) -- 名無しさん 2004-12-26 (日) 20:44:44
  • ハイフンが箇条書きの○にされちゃった。 -- 名無しさん 2004-12-26 (日) 20:49:41
  • ありがとうございます、反映させておきますね。 -- 名無しさん 2004-12-26 (日) 21:33:50
  • ドキュメントによると確かに -k ja というオプションがあるのですが、僕が使っている20041220版では認識しない(記述するとエミュレーションが始まらない)ようです。 -- K 2004-12-26 (日) 22:01:41
  • こんばんは。Fedora Core 3使いの名無しです。こちらでは1msも50msも同じ速度に感じます。WineでWin32版をためしてみると明らかに1msは遅く感じるので,Linux版での微妙な違いを私が感じとれていないということはないと思います。 -- 名無しさん 2004-12-27 (月) 19:29:12
  • ご報告ありがとうございます。ひょっとしてソースの問題ではなく、コンパイラの問題なのかなあ。 -- K 2004-12-27 (月) 23:08:53
  • 大麻問題をlukewarmさんとkazuさんが調べている模様 http://d.hatena.ne.jp/lukewarm/ -- 名無しさん 2005-01-08 (土) 12:54:53
  • おお!ありがたや~。 -- K 2005-01-08 (土) 16:08:10
  • test4で-hitimer使うと、1ms.binがだいぶ改善しました。でもまだちょっとおそいです。マシンパワーがいるのかなあ。 -- K 2005-01-08 (土) 16:29:54
  • GPL版高速化モジュールのqvm86がWindows2k/XPホストにも対応したみたいですね。http://www.nongnu.org/qvm86/ -- 名無しさん 2005-04-10 (日) 14:50:19
  • 新しい版がでましたね。kqemuがWindowsホストにも対応して速度が劇的に向上するらしいです。 -- 名無しさん 2005-07-28 (木) 18:00:16
  • あと、FreeOSZooのサイトはアドレスが変更されました。http://free.oszoo.org/ -- 名無しさん 2005-07-28 (木) 18:01:30
  • DR6レジスタの振る舞いがおかしい気がするのは気のせいでしょうか?EFLAGのTFをセットして、シングルステップ例外は発生しているのだけど、DR6の値には反映されていない(Bit13が0bのまま) -- 名無しさん 2006-04-07 (金) 15:11:09
  • QEMU on Windows 0.8.1 が5/4に出てました。http://www.h7.dion.ne.jp/~qemu-win/index-ja.html -- ユッキー 2006-05-09 (火) 16:22:07
  • qemuを簡単にMac OS XのX11に接続できた。単にtcp_subr.cを少しいじっただけだけど。 -- z84c11 2006-06-14 (水) 19:24:31
  • 質問です。Lights計画?でのことですが、QEMU上の仮想マシンがハングアップするというのはまだ分かるのですが、QEMU自身が応答しなくなるという現象がおきています。Lightsが悪いのか、QEMUのバグなのか分からないのですがどうしたらいいでしょうか? -- Sero 2006-06-21 (水) 00:30:15
  • 他のエミュレータで試すのがよくある手段ですが、一番いいのは実機で実験することです。個人的な経験でいえば、QEMUがハングアップしてしまうときは、いつも自分のOSに何らかのバグがありました。 -- K 2006-06-28 (水) 14:23:01
  • リンク切れと荒らしはどうにかしたほうがよさげ…。 -- 名無しさん 2006-07-28 (金) 02:26:35
  • Qemu on Windows 0.8.2が出でいました。 -- mac12 2006-07-28 (金) 20:49:21
  • はじめまして。いきなり質問なんですが、qemu 0.6.1(windows)を使っていると、リアルモード時のintテーブルへ登録した後の呼び出しがうまく動きませんでした。しかし、実機で試してみたらちゃんと動きました。これは、うちのパソコンが悪いのでしょうか、それともqemuが? -- Kohのページ 2006-07-29 (土) 01:18:34
  • (spamコメントと思われるものをK-kiwiに移動させました。) -- K
  • タイマがおかしいのは俺も見た。64bitsモードでkvm使ってネイティブ環境のタイマ使ってる時だけqemuごとぶっ飛ぶという。 -- tarosuke 2012-01-13 (金) 22:16:00
  • qemuの最新版はhttp://qemu.weilnetz.de/からダウンロードできます。 -- skyblue 2014-08-21 (木) 10:23:06

コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-10 (水) 09:16:04 (2806d)