Thread: [Dosemu-devel] Is DOSEMU2 intended running on kernels like 3.2 ?
Brought to you by:
bartoldeman
From: <bo...@ge...> - 2015-12-22 10:34:48
|
Hello I've compiled the DOSEMU2 devel branch (2.0pre4, 1893) on an Ubuntu 12.04 LTS (x86 / 32-bit / PAE). This fails due to the usage of "X86_EFLAGS_FIXED" in the file "src/emu-i386/kvm.c". I believe that the define of "X86_EFLAGS_FIXED" is missing in the kernel 3.2 of my Ubuntu version. There has been a rename of "X86_EFLAGS_BIT1" to "X86_EFLAGS_FIXED" some time ago: https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.10.60 In the meantime, I added the following line to "kvm.c" and could compile successfully DOSEMU2: #define X86_EFLAGS_FIXED 0x00000002 But I believe, this is NOT the right thing... DOSEMU2 runs, but I use "vm86" and not "kvm". So, coming back to the subject of this message: Is DOSEMU2 supposed to work on older Linux Kernels ? If not, then this message can be sent to device null. Andreas |
From: Andrew B. <aj...@sp...> - 2015-12-22 12:07:39
|
On Tue, 22 Dec 2015 11:34:26 +0100 bo...@ge... wrote: > Hello > > I've compiled the DOSEMU2 devel branch (2.0pre4, 1893) on an Ubuntu > 12.04 LTS (x86 / 32-bit / PAE). This fails due to the usage of > "X86_EFLAGS_FIXED" in the file "src/emu-i386/kvm.c". > > I believe that the define of "X86_EFLAGS_FIXED" is missing in the kernel > 3.2 of my Ubuntu version. There has been a rename of "X86_EFLAGS_BIT1" > to "X86_EFLAGS_FIXED" some time ago: > > https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.10.60 > > > In the meantime, I added the following line to "kvm.c" and could compile > successfully DOSEMU2: > > #define X86_EFLAGS_FIXED 0x00000002 > > But I believe, this is NOT the right thing... DOSEMU2 runs, but I use > "vm86" and not "kvm". > > > So, coming back to the subject of this message: > > Is DOSEMU2 supposed to work on older Linux Kernels ? If not, then this > message can be sent to device null. > > Andreas > > Hi Andreas, Firstly you should raise an issue at https://github.com/stsp/dosemu2/issues as it'll get tracked properly there and Stas / Bart won't miss it. Regarding use of vm86, I think on 386 kernels it's still the default, so are you forcing it to try kvm? There's a new dosemu.conf variable called $_cpu_vm since kvm support got added. Here's the section from the default dosemu.conf. # Usage of cpu emulation: "off" (default on x86), # "vm86" only (default on x86-64) or "full" (vm86 and DPMI, experimental!). # Use "vm86sim" or "fullsim" to use simulation instead of JIT code generation. # $_cpu_emu = "off" # Select cpu virtualization mode. # "vm86" - use v86 mode via vm86() syscall. Only available on x86-32. # "kvm" - use KVM, hardware-assisted in-kernel virtual machine. # "emulated" - use CPU emulator # "auto" - select whatever works # $_cpu_vm = "auto" Remember that kvm support requires a certain processor type to work, but in any case you should raise the issue because dosemu2 should definitely compile on kernel 3.2 without changes. -- Andrew Bird <aj...@sp...> |
From: <bo...@ge...> - 2015-12-22 12:38:41
|
Hello Andrew Thank you for your reply. I'm on 32-bit and my goal there is to stay with "vm86" for speed. So I don't try to use KVM, even it's installed on this machine. My intention was to check first, if that could be a bug or it was by intention. In this case, I will open an issue on github. Andreas On 2015-12-22 12:42, Andrew Bird wrote: > On Tue, 22 Dec 2015 11:34:26 +0100 > bo...@ge... wrote: > >> Hello >> >> I've compiled the DOSEMU2 devel branch (2.0pre4, 1893) on an Ubuntu >> 12.04 LTS (x86 / 32-bit / PAE). This fails due to the usage of >> "X86_EFLAGS_FIXED" in the file "src/emu-i386/kvm.c". >> >> I believe that the define of "X86_EFLAGS_FIXED" is missing in the >> kernel >> 3.2 of my Ubuntu version. There has been a rename of "X86_EFLAGS_BIT1" >> to "X86_EFLAGS_FIXED" some time ago: >> >> https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.10.60 >> >> >> In the meantime, I added the following line to "kvm.c" and could >> compile >> successfully DOSEMU2: >> >> #define X86_EFLAGS_FIXED 0x00000002 >> >> But I believe, this is NOT the right thing... DOSEMU2 runs, but I use >> "vm86" and not "kvm". >> >> >> So, coming back to the subject of this message: >> >> Is DOSEMU2 supposed to work on older Linux Kernels ? If not, then this >> message can be sent to device null. >> >> Andreas >> >> > > Hi Andreas, > Firstly you should raise an issue at > https://github.com/stsp/dosemu2/issues as it'll get tracked properly > there and Stas / Bart won't miss it. Regarding use of vm86, I think on > 386 kernels it's still the default, so are you forcing it to try kvm? > There's a new dosemu.conf variable called $_cpu_vm since kvm support > got added. Here's the section from the default dosemu.conf. > > # Usage of cpu emulation: "off" (default on x86), > # "vm86" only (default on x86-64) or "full" (vm86 and DPMI, > experimental!). > # Use "vm86sim" or "fullsim" to use simulation instead of JIT code > generation. > > # $_cpu_emu = "off" > > # Select cpu virtualization mode. > # "vm86" - use v86 mode via vm86() syscall. Only available on x86-32. > # "kvm" - use KVM, hardware-assisted in-kernel virtual machine. > # "emulated" - use CPU emulator > # "auto" - select whatever works > > # $_cpu_vm = "auto" > > Remember that kvm support requires a certain processor type to work, > but in any case you should raise the issue because dosemu2 should > definitely compile on kernel 3.2 without changes. |
From: Bart O. <bar...@gm...> - 2015-12-24 03:06:35
|
Hello Andreas, On 22 December 2015 at 07:38, <bo...@ge...> wrote: > Thank you for your reply. I'm on 32-bit and my goal there is to stay > with "vm86" for speed. So I don't try to use KVM, even it's installed on > this machine. Just to clarify, there should not be any noticeable speed difference between vm86 and KVM. KVM goes through an extra layer but is also able to use "VME" which means DOS code does not trap as often as with plain vm86. Bart |
From: <bo...@ge...> - 2015-12-26 21:42:17
|
Hello Bart Thanks for your hint regarding the speed of KVM against VM86. The latest info I found was: https://github.com/stsp/dosemu2/issues/77 If this values are still recent, then it would be OK for some applications. But for productivity or development software under DOS, this difference really matters. Nonetheless, will see to find some time to do a test with KVM too. Andreas On 2015-12-24 04:06, Bart Oldeman wrote: > Hello Andreas, > > On 22 December 2015 at 07:38, <bo...@ge...> wrote: >> Thank you for your reply. I'm on 32-bit and my goal there is to stay >> with "vm86" for speed. So I don't try to use KVM, even it's > installed on >> this machine. > > Just to clarify, there should not be any noticeable speed difference > between vm86 and KVM. KVM goes through an extra layer but is also able > to use "VME" which means DOS code does not trap as often as with plain > vm86. > > Bart |
From: solarflow99 <sol...@gm...> - 2015-12-25 11:02:16
|
I'd like to update the docs with this info. Any way I can help do that Stas? On Wed, Dec 23, 2015 at 7:06 PM, Bart Oldeman <bar...@gm...> wrote: > Hello Andreas, > > On 22 December 2015 at 07:38, <bo...@ge...> wrote: >> Thank you for your reply. I'm on 32-bit and my goal there is to stay >> with "vm86" for speed. So I don't try to use KVM, even it's installed on >> this machine. > > Just to clarify, there should not be any noticeable speed difference between > vm86 and KVM. KVM goes through an extra layer but is also able to use "VME" > which means DOS code does not trap as often as with plain vm86. > > Bart > > ------------------------------------------------------------------------------ > > _______________________________________________ > Dosemu-devel mailing list > Dos...@li... > https://lists.sourceforge.net/lists/listinfo/dosemu-devel > |
From: Stas S. <st...@li...> - 2015-12-25 12:24:17
|
25.12.2015 14:02, solarflow99 пишет: > I'd like to update the docs with this info. Any way I can help do that Stas? Sure, please send a pull request. For this, you need to fork the repo (in the web UI) and commit your changes. Then create a pull request. |
From: Stas S. <st...@li...> - 2015-12-28 17:31:45
|
24.12.2015 06:06, Bart Oldeman пишет: > Hello Andreas, > > On 22 December 2015 at 07:38, <bo...@ge... <mailto:bo...@ge...>> wrote: >> Thank you for your reply. I'm on 32-bit and my goal there is to stay >> with "vm86" for speed. So I don't try to use KVM, even it's installed on >> this machine. > > Just to clarify, there should not be any noticeable speed difference between vm86 and KVM. KVM goes through an extra layer but is also able to use "VME" which means DOS code does not trap as often as > with plain vm86. Aren't there the older 32bit CPUs where KVM falls back to cpu emulation, and is therefore very slow? |
From: solarflow99 <sol...@gm...> - 2015-12-28 21:57:37
|
not since the last 10 years or so On Mon, Dec 28, 2015 at 9:30 AM, Stas Sergeev <st...@li...> wrote: > 24.12.2015 06:06, Bart Oldeman пишет: >> Hello Andreas, >> >> On 22 December 2015 at 07:38, <bo...@ge... <mailto:bo...@ge...>> wrote: >>> Thank you for your reply. I'm on 32-bit and my goal there is to stay >>> with "vm86" for speed. So I don't try to use KVM, even it's installed on >>> this machine. >> >> Just to clarify, there should not be any noticeable speed difference between vm86 and KVM. KVM goes through an extra layer but is also able to use "VME" which means DOS code does not trap as often as >> with plain vm86. > Aren't there the older 32bit CPUs where KVM falls > back to cpu emulation, and is therefore very slow? > > ------------------------------------------------------------------------------ > _______________________________________________ > Dosemu-devel mailing list > Dos...@li... > https://lists.sourceforge.net/lists/listinfo/dosemu-devel |