
- Please get modutils-0.99.15 if you don't already have it.

- I don't know what the correct way to reference the kernel 
  token ret_from_sys_call is, see kernel/ksym.c for my hack.

- I haven't removed the vm86.c handler code, although it is never
  called now. likewise the module probably contains code that
  is never called or should be linked from the kernel.

- kernel patch is kernel.diff, it should patch (ignoring fuzz) into
  any recent 1.1 kernel, or 1.0 kernel with a recent dosemu patch
  already applied.

- The module is based on linux 1.1.11 dosemu patch (pre51_13).

- To update to a newer handle_vm86_fault, just stick the newer
  version into vm86.c, but note below.

- MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT provide protection from 
  the user unloading the module while it is actualy running. 
  To work all exits from the vm86 func should be covered by 
  MOD_DEC_USE_COUNT. I'm not sure if this is the case. 

  As time actually spent in the module is very low, and currently
  the driver is only one page, I don't think anything bad would
  happen if we don't use the use_count, in the case that a mad
  user unloads the module while a vm86 protection fault is in
  progress, it is possible a reference no longer valid address
  could occur, linux generally just generates a second GP fault
  in this case, and continues, a log to syslog worse for the 
  experiance. It is remotely possible something bad happens, but
  there are a lot of ifs in the equation.

Update:
-------  
  In this version, I have made the clean up wait 100 call to schedule()
  before freeing the module. No emu code should still be running after
  that unless you have a load average of ~100 when you unload a running 
  module.
  
