V86-64 20080608

V86-64 project is a simple linux kernel patch which allows legacy 8086 programs to run on modern x86-64 AMD and Intel processors
V86-64 project is a simple linux kernel patch which allows legacy 8086 programs to run on modern x86-64 AMD and Intel processors. Currently 64-bit version of linux kernel lacks support of V86 mode because it is not supported in native operating mode (long mode) of these processors. But these processors still have possibility to run 8086 programs in legacy x86 mode. This patch exploits this feature.

Currently only vm86() system call is supported for 32-bit linux programs. It's also possible to add support for 64-bit programs by assigning it a system call number, but this is not done yet. The vm86_old() system call is not currently supported.

DOSEMU 1.4.0 / 1.2.2 (32-bit) works (tested with FreeDOS and PC-DOS 2000, Microsoft Windows 3.1 (DOSEMU 1.4.0)). DPMI also works.

SMP is supported, but has not been tested yet. SMP also has an issue with multithreading on memory area in addresses from 0x00110000 to 0x00113FFF (these 4 pages used by monitor to control V86 program) and can result in segfault on other threads of userspace monitor process. The solution is to avoid using these pages in userspace V86 monitors.

This patch is very experimental. Use it on you risk. It needs to be heavily tested.

Only AMD64 is tested. EM64T might also work, and needs to be tested.

Installation:

To install, apply patch to your kernel source tree.

For example: cd /usr/src; bunzip2

last updated on:
June 16th, 2008, 9:22 GMT
price:
FREE!
developed by:
vladimir32
homepage:
v86-64.sourceforge.net
license type:
GPL (GNU General Public License) 
category:
ROOT \ System \ Operating Systems \ Kernels
V86-64
Download Button

In a hurry? Add it to your Download Basket!

user rating 17

3.5/5
 

0/5

Rate it!

Add your review!

SUBMIT