[PULL] use LRMI for real-mode calls
Tiago Vignatti
tiago.vignatti at nokia.com
Wed Apr 28 10:58:58 PDT 2010
Keith,
All int10 module went to libx86, which in turn is accessed by a shiny new
lrmi. It became very easy to create real mode contexts now; for instance all X
server code has ~60 lines only. And the cool thing is that the API for drivers
keeps the same:
git://people.freedesktop.org/~vignatti/xserver lrmi-for-children
git://people.freedesktop.org/~vignatti/libx86
and posttool converted to such interface:
git://people.freedesktop.org/~vignatti/posttool lrmi-for-children
In the library there's some code that I intentionally let away either because
I'm pretty sure it's broken (and I don't have the hardware to test actually)
or because I think it's not needed anymore. We can eventually add though. They
are:
- support generic memory functions: we might need this specialised functions
to handle access to different types of memory, but for now LRMI doesn't have
such interface and even doesn't implement a portable way for access "not
popular" memories.
- non-PC initialization mode (seems to be broken anyway) and int42
handling (used only for non-PC)
- int1A handling
- cpu regs emulation capability from x86emu
- video memory mapping and bios reading functions are not portable (we
probably should move all implementation xf86MapVidMem and xf86ReadBIOS to
libpciaccess)
I guess also stub functions should be implemented inside libx86 for BSD-like
systems.
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.
Tiago
The following changes since commit 81a081c1f0cb55df94cb10495aa7ad71cd5a9afb:
Jon TURNEY (1):
Cygwin/X: AIGLX using native WGL
are available in the git repository at:
git://people.freedesktop.org/~vignatti/xserver.git lrmi-for-children
Tiago Vignatti (8):
x86emu: nuke from the server and go to hell...
x86emu: remove internal x86emu links
int10: remove a lot of thunk code
int10: remove vm86
configure: remove xserver int10 backend control
int10: welcome to new world order
int10: remove xf86ExtendedInitInt10 interface
int10: insert nokia copyright
configure.ac | 23 +-
hw/xfree86/Makefile.am | 4 +-
hw/xfree86/int10/INT10.HOWTO | 8 +-
hw/xfree86/int10/Makefile.am | 41 +-
hw/xfree86/int10/generic.c | 494 -
hw/xfree86/int10/helper_exec.c | 727 --
hw/xfree86/int10/helper_mem.c | 330 -
hw/xfree86/int10/stub.c | 69 -
hw/xfree86/int10/x86emu.c | 12 -
hw/xfree86/int10/xf86int10.c | 909 +--
hw/xfree86/int10/xf86int10.h | 200 +-
hw/xfree86/int10/xf86x86emu.c | 89 -
hw/xfree86/int10/xf86x86emu.h | 54 -
hw/xfree86/os-support/Makefile.am | 2 +-
hw/xfree86/os-support/int10Defines.h | 89 -
hw/xfree86/os-support/linux/int10/linux.c | 544 -
.../os-support/linux/int10/vm86/linux_vm86.c | 300 -
hw/xfree86/vbe/vbe.c | 3 +-
hw/xfree86/x86emu/Makefile.am | 29 -
hw/xfree86/x86emu/debug.c | 430 -
hw/xfree86/x86emu/decode.c | 1092 --
hw/xfree86/x86emu/fpu.c | 965 --
hw/xfree86/x86emu/ops.c |11717 --------------------
hw/xfree86/x86emu/ops2.c | 2897 -----
hw/xfree86/x86emu/prim_ops.c | 2722 -----
hw/xfree86/x86emu/sys.c | 521 -
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 | 81 -
hw/xfree86/x86emu/x86emu/x86emui.h | 102 -
include/dix-config.h.in | 3 -
40 files changed, 106 insertions(+), 27365 deletions(-)
delete mode 100644 hw/xfree86/int10/generic.c
delete mode 100644 hw/xfree86/int10/helper_exec.c
delete mode 100644 hw/xfree86/int10/helper_mem.c
delete mode 100644 hw/xfree86/int10/stub.c
delete mode 100644 hw/xfree86/int10/x86emu.c
delete mode 100644 hw/xfree86/int10/xf86x86emu.c
delete mode 100644 hw/xfree86/int10/xf86x86emu.h
delete mode 100644 hw/xfree86/os-support/int10Defines.h
delete mode 100644 hw/xfree86/os-support/linux/int10/linux.c
delete mode 100644 hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c
delete mode 100644 hw/xfree86/x86emu/Makefile.am
delete mode 100644 hw/xfree86/x86emu/debug.c
delete mode 100644 hw/xfree86/x86emu/decode.c
delete mode 100644 hw/xfree86/x86emu/fpu.c
delete mode 100644 hw/xfree86/x86emu/ops.c
delete mode 100644 hw/xfree86/x86emu/ops2.c
delete mode 100644 hw/xfree86/x86emu/prim_ops.c
delete mode 100644 hw/xfree86/x86emu/sys.c
delete mode 100644 hw/xfree86/x86emu/validate.c
delete mode 100644 hw/xfree86/x86emu/x86emu.h
delete mode 100644 hw/xfree86/x86emu/x86emu/debug.h
delete mode 100644 hw/xfree86/x86emu/x86emu/decode.h
delete mode 100644 hw/xfree86/x86emu/x86emu/fpu.h
delete mode 100644 hw/xfree86/x86emu/x86emu/fpu_regs.h
delete mode 100644 hw/xfree86/x86emu/x86emu/ops.h
delete mode 100644 hw/xfree86/x86emu/x86emu/prim_asm.h
delete mode 100644 hw/xfree86/x86emu/x86emu/prim_ops.h
delete mode 100644 hw/xfree86/x86emu/x86emu/prim_x86_gcc.h
delete mode 100644 hw/xfree86/x86emu/x86emu/regs.h
delete mode 100644 hw/xfree86/x86emu/x86emu/types.h
delete mode 100644 hw/xfree86/x86emu/x86emu/x86emui.h
More information about the xorg-devel
mailing list