[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