Comment 3 for bug 1499089

Revision history for this message
jimble (jimkeable) wrote :

We use the vm86() system call extensively with our applications, primarily for performance reasons with DOS binaries that cannot be changed.

Switching to CPU emulation is not possible as the applications run considerably slower than if using the hardware features of the real CPU. For this very same reason we run only 32 bit x86 on the servers to support this single system call. Of course the answer could be proposed that we compile our own kernels with this feature enabled, but this is in a production environment running stable existing software for business and not some desktop PC to just run DOS games, so we really need kernels with a proper provenance.

Again for performance reasons we track the very latest hardware and chipsets, so it means we usually have to use the hardware enablement stack for LTS 14.04, currently this is based on kernel 3.19 and runs vm86() syscalls just fine out of the box, but soon the Wily based kernel 4.2 will be used for that. Kernel 4.2 in Wily has the vm86() syscall compile time disabled at present.

If you could change the Kconfig to allow vm86() to be runtime enabled that would be the ideal solution and remove the regression. I suspect that you might want to backport this simple patch to set the runtime default to disabled
https://github.com/torvalds/linux/commit/76fc5e7b2355af167dea1a32e93c57fc37900a5b

I can only hope you understand the importance of this to our business, if this isn't fixed we will be unable to update our servers and also that they wouldn't be viable without the full x86 support for the vm86() syscall.