1read 100read
2011年11月2期OS41: 【PCエミュ】bochs Part2【フリー】 (761)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【PCエミュ】bochs Part2【フリー】
1 :名無しさん@そうだ選挙に行こう :04/07/11 13:03 〜 最終レス :Be名無しさん :2011/11/08(火) 05:41:52.97 フリーのPC/AT互換機エミュレータ、bochs(ぼっくす)です。 ■公式 http://bochs.sourceforge.net/ ■前スレ http://pc5.2ch.net/test/read.cgi/os/1021620622/ ■参考・関連サイト 【LGPL-VGABios】 http://www.nongnu.org/vgabios/ 【Bochs VBE Display Drivers for Windows NT/2000】 ttp://dhenriq.en.eresmas.com/
2 : Z
3 : >>2 は"2"なの?それとも"乙"なの?
4 : >>3 乙のつもりだったがなるほどそういう解釈も可能だな。
5 : osdev-jのURL追加しときました。
6 : BochsのNE2000をPCI接続の設定にしてもゲストのwin95が自動認識しないのは PCIデバイスをOSに通知する仕組みが未実装だから? Realtek8029はPlug&playの仕組みを持っているみたいだけど。
7 : 保守ってみる
8 : http://developers.slashdot.org/developers/04/07/22/0056259.shtml?tid=117&tid=8
9 : Dosまでは何とか動くんですがね。 なぜか:(コロン)が入力できない…。
10 : >>9 コロンを入力しようとしたらどうなるの?
11 : >>9 DOSの日本語キーボードドライバを入れていないなら、 shift + ; でコロンを入力できると思う。英語キーボードとみなされているはずなので。
12 : >>10 >>11 Shift + ;だと普通に+が入力されるだけです。 気納め程度に全てのキーで試してみたのですが、コロンは打てませんでした。 jp106のドライバーはconfig.sysから削除しました。 ちなみに command.com drvspace.bin io.sys msdos.sys だけしか入っていない起動ディスクでもやってみましたが、結果は同じでした。 bochsの設定の問題でしょうか、それともゲストOSの問題でしょうか? Webで検索してみましたが、自分が調べられた範囲では似たような症状に遭遇した人はいませんでした。 bochs本体はSuSEのYaSTでインストールしました。(ver.2.0.2) レス下さってどうもありがとうございます。 正直あきらめかけていたところでした。
13 : config.sysの内容です。 [menu] menuitem=CD, Start computer with CD-ROM support. menuitem=NOCD, Start computer without CD-ROM support. menuitem=HELP, View the Help file. menudefault=CD,30 menucolor=7,0 [CD] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [NOCD] device=himem.sys /testmem:off [HELP] device=himem.sys /testmem:off [COMMON] files=10 buffers=10 dos=high,umb stacks=9,256 DEVICEHigh=BILING.SYS devicehigh=ramdrive.sys /E 2048 lastdrive=z
14 : ガタンゴトンいわずにさ,QEMU使ったほうが良いかとおもうけど。 OS開発にだったらBochsが良いのかもしれんが。 パッチでjp106使えたとおもう。面倒ならペーストボタンで。
15 : >>14 貴重なアドバイスと受け止めさせて頂きます。
16 : >>14 ここはBochsスレなんだから、Qemuって解はもっと意見が出てからでいいんじゃないの?
17 : >>16 それでもQemuだとあんなにあっさり動いてしまうので仕方ないかも知れません。 (僕の経験・知識不足が原因ですが。)
18 : 質問です。 WinXPをホストOSとして、Bochs 2.1.1を利用しています。 ゲストOSはFreeBSD 4.10です。 ゲストOS上でネットワークを利用したいと思い、ne2kを設定しようとしているのですが、うまくいきません。 ネットワークインターフェースは、ノートPC(HP nx9005)に内蔵されている National SemiconductorのDP83815です。 ヘルプを参照し、WinPcap 3.1 beta3 をインストールした上でniclist.exeを走らせてみたところ、 1: Device: Example config for bochsrc: ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev= と出力されます。 デバイス名が空欄となってしまったので、設定ファイルのethdevエントリを空欄にしたり、 デフォルトのxl0としてテスト起動してみましたが、以下ののように出力し起動しませんでした。 00000000000i[NE2K ] port 0x300/32 irq 3 mac b0:c4:20:00:00:00 00000000000i[NE2K ] bx_win32_pktmover_c 00000000000p[NE2K ] >>PANIC<< Could not open adapter for ethernet reception 00000000000i[SYS ] Last time is 1091554990 # In bx_win32_gui_c::exit(void)! 00000000000i[ ] restoring default signal behavior ======================================================================== Bochs is exiting with the following message: [NE2K ] Could not open adapter for ethernet reception ======================================================================== DP83815には、Bochsは対応していないのでしょうか?あるいは、WinPcapが対応していないのでしょうか?
19 : >>12 SuSEって事はホストOSはLinux系かな? Linux系版のbochsって、ホストのキーボードが日本語モードだと うまくいかないかも知れないね。 どうしてもbochsでというなら、英語キーボードにしてみるとか…
20 : >>18 ↓ここにあるWinPCAP3.1対応のNiclistを使うが良かろう。 がじぇっとぼっくす http://ebisa.hp.infoseek.co.jp/bochs/index.shtml
21 : おお、使えるようになりました! 20さんありがとう。
22 : どうやら、やっとcirrusサポートパッチが本体側に適用されたようだね。
23 : >>22 ほんとか!? さっそくテストしてみるYO!
24 : テストしようと思って見てみると、CirrusVGAを有効にするには 下記オプションをつけてコンパイルする必要あり?らしい。 --enable-clgd54xx
25 : さらに i440fxsupport: enabled=1, slot1=cirrus の指定があると、GuestのWIN95は自動でPCIのドライバを入れてくれた。
26 : Plex86を使ってる香具師はいないか
27 : >>26 なんか最近動きがないねぇ。Plex86はGUESTとして動作する為にGUEST OSの対応が必要 らしいけど、これがほんとなら無理も無いかも。高速動作についてはQemuに本命の座を取られた感じ。
28 : がじぇっとぼっくすパッチが適用されている。 スタックの対策や、jis_a01の対策など。日本語パッチはコメントでTODO になっているみたい。
29 : >>28 なんか最近すげぇ頻繁にアップデートしてるねぇ。 DirectXとは言わんけど、OpenGLとか実装できんかな。
30 : みんな他スレに行ってしまったかな。 とりあえず保守。
31 : CPU使用率が90%以上になるのなんとかならんの?
32 : >>31 --enable-idle-hack は?
33 : Bochsでwindows95を使っている際に マウスの速度が速すぎて制御できなくて困っているのですが、 何か良い方法ありませんか? 教えてください。
34 : >>33 コントロールパネルで設定
35 : >>34 無理です。(w エミュが原因なんでしょう。 っていうか変な事例だ。 マウスの軌道をエミュしているので、 タッチパネル等にはうまく対応しないのかな。
36 : >>33-35 ipsとかvga_update_intervalの値がおかしいんじゃないの? マシンスペックとあわせてある?
37 : CVS版で動作中のips表示、複数デバイスのBootが可能になってる。 WindowsのCDからのインストールが実機同様に動くようになったかも。(未確認)
38 : >>36 マシンスペックに対して処理落ちしているなら ips下げれば良いって解釈になるけど、 キー入力のタイミングは正常だからそうとも言えない。 vga_update_intervalも表示のサイクルだから同様。 マウスだけが怪しい。
39 : >>38 うちのBochs上のwin95はまっとうに動いている。 HOSTの能力不足では? 家のはAthron-MP 2000+。BOCHS用に1CPU丸まる使えるイメージなのでGuestの 環境しては恵まれているが。
40 : >>39 幾つかの環境で試しているけど Athron-1000、PV−500、Linux Zaurus C700で 前2つはちゃんと動いている。 C700の方は挙動が不安定。 マウスと周りのスピードを落として軌跡を見てみたけど やはりタッチパネルとマウスの動きが同期していない。 変な方向に動いてしまいます。 BasilliskUではちゃんと動いているんだけど。
41 : >>40 それなら、その機種のタッチパネルドライバのマウスエミュレーションが うまくないのかも知れないね。 というか、よく見たらホストがLinuxかな?Linuxではタッチパネルはどう 処理されているんだろう?Windowsと同様にデバイスドライバレベルで、 マウスをエミュレーションしているのかな?
42 : >>40 Bochs はマウスポインタの位置を固定することで動きを見てたはず。タッチパ ネルではマウスポインタの位置を固定できないから、うまく動かないのでは?
43 : >>41 、42 X上ではタッチパネルはカーソルに追随して 通常に動作しています。 タッチした場所にカーソルが移動します。 >>42 ひょっとしたらそうかも知れません。 ただC700上でマウスの動きをトレースできないので 判断が出来ません。 一応バージョンは2.1.1.cvsです。
44 : >>43 以前 Linux Zaurus SL-C860 で試したときは、下記の様な動作でした。 1. ある特定の位置をタップすると、マウスは動かない。 2. 1の位置よりちょっと右をペンで押し続けると、マウスはゆっくり右へ移動し続ける。 3. 1の位置よりかなり右をペンで押し続けると、マウスは速く右へ移動し続ける。 4. 上、下、左も同様。 >42 さんの「マウスポインタの位置を固定」が、1 の位置なのかも。
45 : 2004/10/23CVSをCygwinでコンパイルしたBochs.exeをあげてみた。 ttp://49uper.com:8080/html/img-s/17889.lzh
46 : Windows上のBochsで serial を正常に使えてる人って居ますか? ホストがLinuxである必要があるのかな?
47 : >>46 BochsのバージョンとHOST OSくらい書いてもばちはあたらない。
48 : >>46 2004年5月14日辺り以降の最新CVSからビルドしたBochsなら 使えるんじゃないかなぁ?
49 : [Bochs-developers] Re: COM1 Bochs 2.1.1 によると、 In Bochs 2.1.1 there is no raw serial support for win32 platforms present. Windows上ではシリアルポート使えないみたいです。残念。 #ファイルは使えるとのことです。
50 : 2-processors の bochs がまともに動いている人いますか? cvs からダウンロードして cygwin で % configure --enable-processors=2 --enable-all-optimizations % make でバイナリを作ったのですが、実行しても即ハング(BIOS を実行する前に)します。 --enable-processors=2 をはずすと動きますので、SMP の せいだとおもうのですが・・
51 : >>50 HOST OS、コンパイラ、何月何日のCVSかを書いてもばちはあたらない。
52 : ブート順序指定ができるようになった模様
53 : EIPのCS limit超えでPANICになる問題が一応解決したみたい。
54 : >>52 osdev-jのbochsrcサンプルに書き方載せておいた。
55 : SAVE、RESTOREの実装がはじまったぽい。
56 : Bochs-CVS 先頭枝更新情報:2004/11/05 10:13 (UTC) 修正ファイル:cpu/access.cc cpu/cpu.cc ・BX_CPU_THISポインタ達を直しまつた。
57 : http://www.cl.cam.ac.uk/Research/SRG/netos/xen/screenshots/index.html
58 : >>57 bochsとは目的が違う Xen の目的は coLinux と同じ
59 : SAVE、RESTORE実装がとりあえず使えるところまできたらしい。 これでとりあえずQemuに追いつけたかな? (完全実装完了まで待つ必要あるけどな。)
60 : Bochs-CVS 先頭枝更新情報:2004/11/06 10:50 (UTC) 修正ファイル:.bochsrc bochs.h config.cc main.cc cpu/cpu.cc doc/docbook/user/user.dbk ・gdbstubサポートはランタイム・オプションになりますた。(SFパッチ#1021740 by Charles Duffy) ・gdb_*オプションは新しいgdbstubオプションに変わりますた。
61 : Bochs-CVS 先頭枝更新情報:2004/11/06 17:04 (UTC) 修正ファイル:gui/sdl.cc gui/wx.cc gui/x.cc iodev/svga_cirrus.cc iodev/vga.cc iodev/vga.h ・今のvde最新版コードは新しいグラフィックスAPIを使用します。 ・sdl,wxとxのディスプレイ ライブラリ達から古い最新版コードが取り除かれますた。 ・wx.cc: 警告を直しますた。
62 : Bochs-CVS 先頭枝更新情報:2004/11/11 20:55 (UTC) 修正ファイル:memory/memory.cc memory/memory.h memory/misc_mem.cc ・非整列なシャドウRAM配列は、整列なROM配列と取り替えられますた。シャドウRAMは今では通常のRAMであり、 ROMはROM配列に格納されます。 TODO:メモリ・トップの別名BIOS化
63 : Bochs-CVS 先頭枝更新情報:2004/11/12 16:47 (UTC) 修正ファイル:cpu/fetchdecode.cc ・FPUが存在しない場合でのFPU命令用のfetchdecodeを直しますた。
64 : >>60-63 乙。 個人的には >Thu Oct 21 18:20:36 2004 UTC (3 weeks, 1 day ago) by sshwarts >prepations for NX bit implementation (和訳:NX ビット実装の準備) これに期待していたり。
65 : Bochs-CVS 先頭枝更新情報:2004/11/14 14:06 (UTC) 修正ファイル:memory/memory.cc memory/misc_mem.cc ・128k BIOS ROM空間を今、メモリ・トップに別名化しますた。
66 : AMDが自社内でデバッグ用に使ってる仮想マシンの一部コードをオープンにしてくれれば 助かるんだろうね。得られた情報をフィードバックして半オープンCPU開発なんて妄想 してみるとけっこー萌えるw
67 : 64の出始めの頃どっかで見たけど、AMD自身が64の環境としてBochsを紹介していた。 そのとき思ったんだけど、もっとAMDな仮想デバイスを実装すれば応援してくれたり しないかと思ったんだけど。まぁ、出来そうなのはNICくらいしかないか。
68 : Bochs-CVS 先頭枝更新情報:2004/11/14 19:29 (UTC) 修正ファイル:cpu/cpu.cc cpu/cpuid.cc cpu/init.cc cpu/segment_ctrl_pro.cc 追加ファイル:cpu/icache.h ・CPU内レジスタの#RESETシグナル用リセットを直しますた。 ・icache.hへ分離するためにcpu.hからICACHEを抜き取りますた。
69 : Bochs-CVS 先頭枝更新情報:2004/11/14 19:39 (UTC) 修正ファイル:cpu/icache.h ・dos2unixでつ。
70 : Bochs-CVS 先頭枝更新情報:2004/11/14 21:25 (UTC) 修正ファイル:cpu/fetchdecode64.cc cpu/init.cc cpu/paging.cc cpu/proc_ctrl.cc cpu/sse_pfp.cc cpu/stack32.cc cpu/stack64.cc ・コードの中にいるthisポインタ達を直しますた。
71 : Bochs-CVS 先頭枝更新情報:2004/11/14 21:47 (UTC) 修正ファイル:cpu/init.cc ・リセット時のCS.BASEの間違った値を直しますた。
72 : Bochs-CVS 先頭枝更新情報:2004/11/15 10:43 (UTC) 修正ファイル:bx_debug/dbg_main.cc ・デバッガ ヘルプテキストのタイポ修正
73 : Bochs-CVS 先頭枝更新情報:2004/11/14 21:47 (UTC) 修正ファイル:cpu/cpu.cc ・追加のデバッグ情報を追加しますた。
74 : Bochs-CVS 先頭枝更新情報:2004/11/16 18:50 (UTC) 修正ファイル:memory/memory.h memory/misc_mem.cc ・getHostMemAddr()は、存在しないメモリアドレスが要求された場合、今では、0xff で詰めた4kメモリ配列へのポインタを返します。 ・rom配列は0xffで初期化されすた。 ・dbg_fetch_mem()内の別名化されたbios romへのアクセスを直しますた。
75 : Bochs-CVS 先頭枝更新情報:2004/11/16 19:19 (UTC) 修正ファイル:CHANGES cpu/init.cc iodev/floppy.cc memory/misc_mem.cc ・#RESET後のCS.baseレジスタを修正。 ・変更を更新。
76 : Bochs-CVS 先頭枝更新情報:2004/11/16 20:44 (UTC) 修正ファイル:host/linux/pcidev/pcidev.c ・発生する可能性があるメモリリーク達とコンパイル警告達を直しますた。 (パッチ by Frank Cornelis)
77 : Bochs-CVS 先頭枝更新情報:2004/11/18 23:16 (UTC) 修正ファイル:cpu/access.cc cpu/cpu.cc cpu/cpu.h cpu/icache.h cpu/init.cc ・現時点:ICACHEは、物理アドレス>mem.lenをサポートしないため、#RESET後に 物理アドレス0xFFFFFFF0からフェッチするのをできなくしますた。 これは修正の最初の部分で、残りの部分は、まもなく来ます。
78 : Bochs-CVS 先頭枝更新情報:2004/11/19 09:39 (UTC) 修正ファイル:cpu/cpu.cc cpu/icache.h cpu/init.cc ・icacheと物理アドレス > mem.lenで相性が悪いのを直しますた。
79 : Bochs-CVS 先頭枝更新情報:2004/11/20 16:44 (UTC) 修正ファイル:gui/rfb.cc ・rfb キー押し/離しバグ修正 (SFパッチ#1063329 by Remko van der Vossen)
80 : Bochs-CVS 先頭枝更新情報:2004/11/20 23:26 (UTC) 修正ファイル:CHANGES cpu/access.cc cpu/cpu.h cpu/ctrl_xfer16.cc cpu/ctrl_xfer32.cc cpu/fetchdecode.cc cpu/fetchdecode64.cc cpu/string.cc disasm/dis_groups.cc disasm/dis_tables.h disasm/disasm.h ・逆アセンブラーで直していまつ。 ・実行をスピードアップするためにopsizeによってREPEAT命令を分割でつ。 今では、REPEAT可能な命令は、3個の異なる命令(16ビットオペランドサイズ用、 32ビットオペランドサイズ用と64ビットオペランドサイズ用)に、分割されますた。 適切な命令の選択はfetchdecode段階で発生でつ。
81 : Bochs-CVS 先頭枝更新情報:2004/11/22 13:14 (UTC) 修正ファイル:.cvsignore bochs.h gui/rfb.cc gui/textconfig.cc ・QNX6移植の準備でつ。
82 : Bochs-CVS 先頭枝更新情報:2004/11/26 19:53 (UTC) 修正ファイル:cpu/access.cc cpu/cpu.h cpu/io.cc cpu/string.cc ・コード重複修正
83 : Bochs-CVS 先頭枝更新情報:2004/11/26 20:21 (UTC) 修正ファイル:cpu/ctrl_xfer32.cc cpu/data_xfer16.cc cpu/data_xfer32.cc cpu/data_xfer64.cc cpu/fetchdecode.cc cpu/fetchdecode.h cpu/fetchdecode64.cc ・重複opcodeグループ達をfetchdecode*.cc(訳注:原文はfectchdecode*.cc) から.hに移動 ・レジスタ ファイル構造体に直接アクセスする代わりに、レジスタアクセス をする共通マクロ達を使用
84 : Bochs-CVS 先頭枝更新情報:2004/11/27 10:09 (UTC) 修正ファイル:config.cc iodev/serial.cc iodev/serial.h ・シリアルマウスサポートが準備されますた。 (TODO: シリアルポートへのマウスデータの転送)
85 : Bochs-CVS 先頭枝更新情報:2004/11/27 14:38 (UTC) 修正ファイル:iodev/keyboard.cc iodev/keyboard.h ・ホイール マウス モード(まだ実装されていないが)へ入るための検知シーケンス ・コメントにされていたinfo/debugメッセージ達は取り除かれますた。 ・インデント モードの整理
86 : Bochs-CVS 先頭枝更新情報:2004/11/27 20:36 (UTC) 修正ファイル:cpu/stack32.cc cpu/stack64.cc ・ENTER命令を直しますた。(この実装は正しいと思われるが、やはりテスト をして確認する必要が…)
87 : 地道な修正がつづいていますな
88 : Bochs-CVS 先頭枝更新情報:2004/11/28 08:54 (UTC) 修正ファイル:memory/misc_mem.cc ・getHostMemAddr()関数内で、不足していたbreak文を追加しますた。
89 : Bochs-CVS 先頭枝更新情報:2004/11/30 21:02 (UTC) 修正ファイル:bochs.h config.cc gui/siminterface.h iodev/keyboard.cc iodev/keyboard.h ・マウス タイプ オプションが準備されますた。 (TODO:ホイール マウスとシリアル マウス用のデバイス コード)
90 : Bochs-CVS 先頭枝更新情報:2004/12/02 21:34 (UTC) 修正ファイル:.bochsrc config.cc plugin.h iodev/devices.cc iodev/iodev.h iodev/keyboard.cc iodev/serial.cc iodev/serial.h ・標準の2ボタン シリアル マウスが実装されますた。 (マウス オプションを"type=serial"にして、comポートの1個を"mode=mouse" に設定する必要がありまつ)
91 : Bochs-CVS 先頭枝更新情報:2004/12/04 13:48 (UTC) 修正ファイル:memory/memory.cc ・メモリ リミットのチェックを直しますた。
92 : Bochs-CVS 先頭枝更新情報:2004/12/04 13:49 (UTC) 修正ファイル:gui/wxdialog.cc ・wxWidgets 2.5.xでかつデバッガ有効時でのコンパイル エラーを直します た。
93 : Bochs-CVS 先頭枝更新情報:2004/12/05 16:41 (UTC) 修正ファイル:bios/rombios.c bios/BIOS-bochs-2-processors bios/BIOS-bochs-4-processors bios/BIOS-bochs-8-processors bios/BIOS-bochs-latest ・PS/2マウス ファンクション"set sample rate"と"get device id"が実装 されますた。 ・EBDAセグメントの存在は、PS/2マウス オプションに依存しません。
94 : Bochs-CVS 先頭枝更新情報:2004/12/05 20:23 (UTC) 修正ファイル:.bochsrc config.cc plugin.h gui/win32.cc iodev/iodev.h iodev/keyboard.cc iodev/keyboard.h iodev/serial.cc iodev/serial.h ・Ben Luntによるパッチ#1079240に基づいたホイール マウス(PS/2やシリアル) を実装するための最初の試みでつ。まだ、いくつかの問題がありまつ。 ・PS/2マウスは常に存在してまつ(離脱されたマウスをエミュレートする ための多少のコードが必要とされまつ) ・PS/2ホイール マウスは適切には動きません。 ・シリアル ホイール マウスは標準マウスとして検知されて全く動きません。
95 : Bochs-CVS 先頭枝更新情報:2004/12/06 21:12 (UTC) 修正ファイル:gui/win32.cc gui/x.cc iodev/keyboard.cc ・"imps2"マウス エミュレーションを直しますた。ホイール データは もうOKでつ。 ・"x"ディスプレイ ライブラリ用のホイール マウス サポートを追加しますた。
96 : Bochs-CVS 先頭枝更新情報:2004/12/07 21:13 (UTC) 修正ファイル:config.cc bios/BIOS-bochs-2-processors bios/BIOS-bochs-4-processors bios/BIOS-bochs-8-processors bios/BIOS-bochs-latest iodev/keyboard.cc iodev/keyboard.h iodev/serial.cc ・マウス タイプ"none"が追加されますた。(接続されたマウスなし) ・接続されたマウスがないPS/2マウス ポートのエミュレーションを追加 しますた。(いくつかのOSでは、依然としてマウスを検知) ・マウス タイプ"serial_wheel"を直していまつ。(Win98ではホイールは まだ動きません)
97 : Bochs-CVS 先頭枝更新情報:2004/12/08 18:54 (UTC) 修正ファイル:CHANGES disasm/Makefile.in disasm/dis_decode.cc disasm/dis_groups.cc disasm/dis_tables.h disasm/disasm.h disasm/resolve.cc ・ディスアセンブラのいくつかのバグを直しますた。 ・BochsディスアセンブラにてAT&Tスタイルのサポートを準備しますた。 -既に、opcode名サフィックス達以外の全てのAT&Tスタイルをサポートしてまつ。 -AT&Tサポートは将来的にはbx_debuggerからの利用が可能になるでつ。
98 : Bochs-CVS 先頭枝更新情報:2004/12/08 18:55 (UTC) 追加ファイル:disasm/syntax.cc ・disasmに足りなかったsyntax.ccファイルを追加しますた。
99 : CVS版って2.1に比べてどのくらい速い?
100read 1read 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲