[過去ログ] 今夜も Wine で乾杯! - 23本目 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
676(1): 2022/04/19(火)00:09 ID:6BsM3YVq(1/2) AAS
>>673
16ビットと言っても
?DOS用で、リアルモードまたは仮想8086モード向けのコード
?Win3.x用で、16ビットプロテクトモードまたは16ビット互換モード向けのコード
の2種類あって、
i)32bitWindowsの場合、?は仮想8086モードに移行して直接動作(ntvdm)、?は16ビットプロテクトモードに移行して直接動作(wowexec)
ii)32bitlinux上のwineの場合、?は仮想8086モードに移行して直接動作(vm86システムコール利用)、?は16ビットプロテクトモードに移行して直接動作(modify_ldtシステムコール利用)
iii)64bitlinux上のwineの場合、?はDOSBoxのエミュレーション(longモードでは仮想8086モード非対応のため)、?は16ビット互換モードに移行して直接動作(32bitwineからmodify_ldtシステムコール利用)
iv)64bitWindowsの場合、?は非対応(longモードでは仮想8086モード非対応のため)、?も非対応(MSのやる気がないため)
v)64bitWindows上のwinevdmでは、??いずれもエミュレーションまたはCPUの仮想化機能を使う
678(2): 2022/04/19(火)10:24 ID:WRR9mRIv(1/2) AAS
>>676
> ii)32bitlinux上のwineの場合、?は仮想8086モードに移行して直接動作(vm86システムコール利用)
Wine4.0でvm86システムコールを利用するコードが削除され、以降はdosboxのCPUエミュレーションで
リアルモードのコードを実行するようになっているはず
dosboxを利用するコードが入ったのはWine1.4
Wineのコードをgrep vm86して確認してみて
> ?は16ビットプロテクトモードに移行して直接動作(modify_ldtシステムコール利用)
自分もこう動いているように思っていたんだけど実際のwineでmodify_ldtを使っている箇所は
外部リンク[c]:source.winehq.org
外部リンク[c]:source.winehq.org
の2つで、下はobsoleteになっていて使っていないっぽい
コード読み切れていないから全然理解できていないだけど、本当にWineは16bitプロテクトモードの
コードの実行にmodify_ldtを利用している?
winevdmのコードを見てもdosboxを呼びだしているのはわかるんだけど、どこまでdosboxのCPU
エミュレータでコードを動かしているかわからん
外部リンク[c]:source.winehq.org
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.033s