2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

今夜も Wine で乾杯! - 23本目

683 :login:Penguin:2022/04/19(火) 10:24:43.26 ID:WRR9mRIv.net
>>681
> ii)32bitlinux上のwineの場合、@は仮想8086モードに移行して直接動作(vm86システムコール利用)
Wine4.0でvm86システムコールを利用するコードが削除され、以降はdosboxのCPUエミュレーションで
リアルモードのコードを実行するようになっているはず

dosboxを利用するコードが入ったのはWine1.4

Wineのコードをgrep vm86して確認してみて

> Aは16ビットプロテクトモードに移行して直接動作(modify_ldtシステムコール利用)

自分もこう動いているように思っていたんだけど実際のwineでmodify_ldtを使っている箇所は
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/signal_i386.c
https://source.winehq.org/git/wine.git/blob/HEAD:/libs/wine/ldt.c
の2つで、下はobsoleteになっていて使っていないっぽい

コード読み切れていないから全然理解できていないだけど、本当にWineは16bitプロテクトモードの
コードの実行にmodify_ldtを利用している?

winevdmのコードを見てもdosboxを呼びだしているのはわかるんだけど、どこまでdosboxのCPU
エミュレータでコードを動かしているかわからん

https://source.winehq.org/git/wine.git/blob/HEAD:/programs/winevdm/winevdm.c

総レス数 1009
266 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★