Hi! I don't know the context of that discussion, so I'll only comment on the dosemu part. 10.11.2016 09:46, Ricardo Neri пишет:
I took a closer look at the dosemu code. It appears that it does not purposely utilize SGDT to obtain the descriptor table while in vm86. It does use SGDT (in protected mode) to emulate certain functionality such as the Virtual xxx Driver. In such a case, UMIP needs to be disabled. However, this code seems to be disabled [1].
Indeed. The code you've found, was copied from wine, because dosemu supports windows-3.1. But sgdt is in win32s part that is disabled in dosemu. It is however enabled in wine, or at least it was when I ported the VxD code from there. So you may want to ask wine devs if they still use sgdt and vm86. In dosemu, if we ever enable win32s support, we won't rely on sgdt. In fact, when some prot mode program under dosemu uses GDT selectors, in a fault handler we replace them with LDT selectors.
dosemu includes an i386 emulator that in some cases uses the actual instructions of the host system.
In dosemu2 code, the places you've found, now contain this: error("SGDT not implemented\n"); If we ever support SGDT, we'll use some emulation/fake values. So overall, dosemu is not going to willingly use sgdt in any near future. But the programs running under vm86 or in prot mode may do so. This is very uncommon though, especially under dosemu, because it supports only a "polite" programs - those that work under win95's dos prompt. No one would get sufficiently hurt if sgdt under vm86 will somehow change from its current behaviour. You can ask wine people for their sgdt use in win32s subsystem. -- To unsubscribe from this list: send the line "unsubscribe linux-msdos" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html