[PULL] use LRMI for real-mode calls

Adam Jackson ajax at nwnk.net
Fri Apr 30 14:37:32 PDT 2010


On Fri, 2010-04-30 at 12:50 -0700, Keith Packard wrote:
> On Wed, 28 Apr 2010 20:58:58 +0300, Tiago Vignatti <tiago.vignatti at nokia.com> wrote:
> > Unfortunately no commits here got a review tag. Even so, I'm keeping this work
> > openly for months already and I'd like to work on it to integrate now. So
> > please, tell me your thoughts. 
> 
> Deleting this much code is tempting, and I'd like to get it merged for
> 1.9, but it will need some level of review and testing from people who
> actually use this stuff.
> 
> Ajax -- are you capable of providing some testing/review?

Testing will have to wait a week or so, but sure.  Quick review notes:

- I'd be inclined to smash all the xserver patches together, I don't
think the server will be meaningfully bisectable over that range.

- xf86ExtendedInitInt10 might not have been used in any of the drivers,
but the Flags arg to VBEExtendedInit _is_ used in (at least) sis, nv,
and vesa.  I'd prefer not to break vesa with this.

- libx86 looks like it still builds with soname of libx86.so.1.  That
needs to be .2 since you changed ABI, and then the configure check wants
to check that it's a sufficiently new libx86.

- LRMI_Init in backend-vm86.c maps the legacy ROM for all int10
contexts.  That's assuredly not going to work very well.  Looks like it
does in backend-x86emu.c too.

- backend-vm86.c has some pretty spectacular indentation.

- The byte order macros really need to work, there are probably devices
where byte-reads of a dword register will have the same read side effect
as dword-reads.  (So, for that matter, the big-endian macros should
probably be fixed to swap after reading rather than trying byte
accesses.)

- backend-x86emu.c looks like it loses the feature of mapping the 1M
arena wherever the kernel pleases, and instead reverts to mapping it at
the 0 page.  This is a security bug on arches where kernel virtual
addresses equal user virtual addresses (which includes x86 and amd64).

- Nothing appears to set up vga arbitration.  Not your fault, X isn't
doing that either really.

- 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/20100430/1862565c/attachment.pgp>


More information about the xorg-devel mailing list