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

Tiago Vignatti tiago.vignatti at nokia.com
Tue Nov 17 09:01:48 PST 2009


Hi,

Follow here please:

    git://people.freedesktop.org/~vignatti/xserver libx86
    git://people.freedesktop.org/~vignatti/libx86/


This work removes x86emu code from X server and provides the same real-mode
x86 BIOS calls by using libx86, through LRMI. Eventually we can remove vm86
code from the server as well given the library has also such implementation.

libx86 is basically a copy from Matthew's and I rebased the library's
x86emu code as the one we current have on X server [0]. It's mostly about code
move and clean up, really. Should not have any semantical changes. It will
open space for _a lot of_ clean ups inside the server. 

So now, inside X, I'm using some internal x86emu paths (--enable-x86emu) to
POST a card regardless which libx86's backend. Of course, we need a lot of
clean up here as well.

Note that to use an external method to POST now, e.g. using posttool, it
becomes really simple. Probably only VBE modesetting is not letting us to
"externalize" all int10 now.

I'll appreciate any kind of feedback.


Thanks,

[0] tbh, stills one single commit (da923d0b) not applied that is using some
header from the server. Matt, do you have an idea how to handle this one?

---

 b/configure.ac                          |    1 
 b/hw/xfree86/Makefile.am                |    4 
 b/hw/xfree86/int10/Makefile.am          |    2 
 b/hw/xfree86/int10/helper_exec.c        |    2 
 b/hw/xfree86/int10/xf86x86emu.c         |   69 
 b/hw/xfree86/os-support/int10Defines.h  |    4 
 configure.ac                            |    5 
 hw/xfree86/int10/Makefile.am            |    9 
 hw/xfree86/int10/helper_exec.c          |    5 
 hw/xfree86/int10/xf86x86emu.c           |   62 
 hw/xfree86/int10/xf86x86emu.h           |   54 
 hw/xfree86/x86emu/Makefile.am           |   27 
 hw/xfree86/x86emu/debug.c               |  430 -
 hw/xfree86/x86emu/decode.c              | 1092 --
 hw/xfree86/x86emu/fpu.c                 |  965 --
 hw/xfree86/x86emu/ops.c                 |11697 --------------------------------
 hw/xfree86/x86emu/ops2.c                | 2897 -------
 hw/xfree86/x86emu/prim_ops.c            | 2722 -------
 hw/xfree86/x86emu/sys.c                 |  430 -
 hw/xfree86/x86emu/validate.c            |  765 --
 hw/xfree86/x86emu/x86emu.h              |  198 
 hw/xfree86/x86emu/x86emu/debug.h        |  210 
 hw/xfree86/x86emu/x86emu/decode.h       |   88 
 hw/xfree86/x86emu/x86emu/fpu.h          |   61 
 hw/xfree86/x86emu/x86emu/fpu_regs.h     |  119 
 hw/xfree86/x86emu/x86emu/ops.h          |   45 
 hw/xfree86/x86emu/x86emu/prim_asm.h     |  970 --
 hw/xfree86/x86emu/x86emu/prim_ops.h     |  142 
 hw/xfree86/x86emu/x86emu/prim_x86_gcc.h |   79 
 hw/xfree86/x86emu/x86emu/regs.h         |  337 
 hw/xfree86/x86emu/x86emu/types.h        |  105 
 hw/xfree86/x86emu/x86emu/x86emui.h      |  102 
 32 files changed, 84 insertions(+), 23614 deletions(-)

            Tiago


More information about the xorg-devel mailing list