Open boeckmann opened 2 months ago
Which qemu version?
9.1 currently. But the JWasm problems did also occur with earlier versions...
I finally had a chance to test this under Linux. I can now confirm that it runs fine under Qemu if KVM is enabled and that it crashes if KVM is disabled.
Failing image: hd0.img.gz. Just boot. Will crash after 4dos start.
Not sure what we could with this... Sounds like either a glitch in QEMU's CPU emulation (have you tried with a different CPU? "-cpu help") or a 4DOS bug.
Maybe it would be better to report this to the QEMU team?
I will try a few more QEMU options. There is also JWasmr that has problems under QEMU. Maybe both 4dos and JWasmr have some bugs, but it is a strong indication there is something going on with QEMU, as these programs run fine under other emulators and on real hardware. I could also not debug JWasmr. It behaved good under influence of a debugger when running single-stepped, and otherwise crashed randomly with no indication what was going on...
Will ask at the QEMU bug tracker if I get not further along...
Bugs in qemu's non-KVM CPU emulator are not unheard of, eg https://hg.pushbx.org/ecm/ldosboot/file/439448ca4188/boot.asm#l1445
old good QEMU-0.15.1 works.
@roytam1 thanks for testing. Are you sure it is not using KVM?
@roytam1 thanks for testing. Are you sure it is not using KVM?
there is no KVM for QEMU-0.15 on Windows host.
Maybe the default machine type (-m) changed between 0.15 and current version?
Maybe the default machine type (-m) changed between 0.15 and current version?
you may try -M pc-0.15
to run a QEMU-0.15 machine?
pc-0.15 is not supported for my QEMU version (9.1). I tried several machine types supported, mainly i440fx and q35 versions and isapc, but could not get one to work. I also tested the CPU types down to 486-v1. Still no luck :(
then it could be a regression in non-KVM(TCG?) emulation.
then it could be a regression in non-KVM(TCG?) emulation.
I think most likely this will be the case.
After JWASM, this is another case of software crashing under non-KVM QEMU which occurs under both FreeDOS and EDR based kernels. The sofware runs fine on physical machines and other emulators like 86box. This to me starts smelling like a possible qemu bug?
EDR crash:
FreeDOS crash: