Re: [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention

From: Stas Sergeev
Date: Wed Mar 29 2017 - 17:12:58 EST


29.03.2017 07:38, Ricardo Neri ÐÐÑÐÑ:
Probably you could also remove
the sldt and str emulation for protected mode, because,
as I understand from this thread, wine does not
need those.
I see. I would lean on keeping the emulation because I already
implemented it :), for completeness, and because it is performed in a
single switch. The bulk of the emulation code deals with operands.
But this is not for free.
As Andy said, you will then need a syscall and
a feature mask to be able to disable this emulation.
And AFAIK you haven't implemented that yet, so
there is something to consider.

You know the wine's
requirements now - they are very small. And
dosemu doesn't need anything at all but smsw.
And even smsw is very rare.
But emulation is still needed for SMSW, right?
Likely so.
If you want, I can enable the logging of this command
and see if it is used by some of the DOS programs I have.
It would be great if you could do that, if you don't mind.
OK, scheduled to the week-end.
I'll let you know.

But at least dosemu implements it, so probably it is needed.
Right.

Of course if it is used by one of 100 DOS progs, then there
is an option to just add its support to dosemu2 and pretend
the compatibility problems did not exist. :)
Do you mean relaying the GP fault to dosemu instead of trapping it and
emulating it in the kernel?
Yes, that would be optimal if this does not severely break
the current setups. If we can find out that smsw is not in
the real use, we can probably do exactly that. But other
instructions are not in real use in v86 for sure, so I
wouldn't be adding the explicit test-cases to the kernel
that will make you depend on some particular behaviour
that no one may need. My objection was that we shouldn't
write tests before we know exactly how we want this to work.