[RFC] xserver: use LRMI for real-mode calls (v2)

Adam Jackson ajax at nwnk.net
Mon Nov 30 08:20:07 PST 2009


On Sat, 2009-11-28 at 12:53 -0800, Keith Packard wrote:
> On Fri, 27 Nov 2009 21:54:26 +0200, Tiago Vignatti <tiago.vignatti at nokia.com> wrote:
> 
> >   On the other hand, we could simply forget forever vm86 backend, given
> >   x86emu encompass it - ajax has hard arguments to simply remove vm86
> >   either.

To be clear, I suggested delegating the choice of vm86 or emulation to
libx86, instead of implementing it in the X server.

> How close is x86emu to actually dealing with modern video BIOSes? We
> used to have all kinds of trouble with BIOSes using instructions beyond
> the basic 8086 stuff; does x86emu deal with these now?

It's not the best thing ever, but it's much better than it was.  amd64
made this a much stronger requirement since we don't get vm86 mode.

The last class of really tricky stuff is some BIOSes (mostly Intel that
I've seen) that assume not only are they running in real mode, but that
they can do clever shit like modify the GDT or the machine status word.
Some of the other tricks (like going into unreal mode so you can
directly address the ACPI tables in the high ~1M of memory) simply will
not work in vm86 mode, but we stand a chance of handling them with
x86emu.

So, pick your poison really.  We have two paths that both fail in some
scenarios.  x86emu has to work for non-i386 machines anyway.  vm86 has
fundamental security issues.  x86emu can emulate things correctly that
vm86 never will; the things it does not emulate yet are just typing.
Seems like a clear decision to me.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://lists.x.org/archives/xorg-devel/attachments/20091130/0cdb9f13/attachment.pgp 


More information about the xorg-devel mailing list