--------------------------------------------------------------------------------
VMware 3.x for OpenBSD version 1.2
--------------------------------------------------------------------------------
   by Marius Aamodt Eriksen <marius@monkey.org>

   http://monkey.org/~marius/vmware-openbsd

DESCRIPTION

   A port of the kernel modules for VMware to OpenBSD-current.  Ported
   from the NetBSD modules by Jaromir Dolecek and the linux modules
   provided by VMware, as well as a few bits from Jason Ish' port of
   the NetBSD modules for VMware 2.x.

INSTALL

   Make sure you have OpenBSD-current (as of October 13, 2003).  You need to
   get a license from VMware, and binaries from them.  The provided
   install script won't work, so it's best done manually.  From the
   vmware-distrib directory, copy as follows:

      bin/* -> /usr/local/bin/
      lib/* -> /usr/local/lib/vmware

   Then, make sure /etc/vmware exists and that /etc/vmware/config is
   somewhat similar to

      vmware.fullpath = "/usr/local/bin/vmware"
      wizard.fullpath = "/usr/local/bin/vmware-wizard"
      dhcpd.fullpath = "/usr/local/bin/vmnet-dhcpd"
      loop.fullpath = "/usr/local/bin/vmware-loop"
      control.fullpath = "/usr/local/bin/vmware-control"
      libdir = "/usr/local/lib/vmware"
      vmnet1.HostOnlyAddress = "192.168.1.100"
      vmnet1.HostOnlyNetMask = "255.255.255.0"

   A port should appear soon to make this a less painful process.
   After installing vmware, apply the binary patch in
   vmware-any-any-update37.  Simply run 

      $ ./update /usr/local/bin/vmware

   This takes into account some changes in in recent linux libcs (like
   the one provided by the redhat-base port).

   The modules are built separately; so type "make" in each of the
   directories:

      source/vmmon
      source/vmnet
      source/linuxrtc
      util

   The kernel modules can be loaded by typing "make load" in each of
   the directories, and unloaded by "make unload."

   Install "vmware-run" from util/ somewhere in your path.

   I use the following script to initialize them:

      cd $VMWAREHOME/source/vmmon/
      make unload || make load || exit 1
      cd $VMWAREHOME/source/vmnet
      make unload || make load || exit 1
      cd $VMWAREHOME/source/linuxrtc
      make unload || ( make load && 

      cd

      export DISPLAY=:0.0

      systrace -d /etc/systrace -g /usr/local/bin/notification \
      /usr/local/bin/vmnet-netifup -d /tmp/vmnet.pid \
      /dev/vmnet1 vmnet1
      )

   it is included as "vmware-init.sh" also included is "vmware-run.sh"
   which is a convenient way to run VMware.  These scripts systrace
   everything by default; if this is not desired, the systrace
   commands can be removed.

   Systrace policies are included in the systrace directory.

QUIRKS

   When a virtual machine is powered on, there is a fatal error:

      Cannot attach shared memory segment: Invalid argument.
      Failed to initialize SVGA device.

   This seems to be an issue with a race condition in creating a shm
   segment and accessing it (presumeably between 2 vmware processes).
   However, after hitting "power on" 5 times, it works (and forever
   after, until the next invocation of VMware).  

   *THIS IS FIXED IN OPENBSD-CURRENT AS OF OCTOBER 13, 2003*

WHAT WORKS

   NetBSD
      - with X11
   FreeBSD
   Plan9
   OpenBSD

   Nothing else has been tested yet.  Please let me know of any other 
   (working or non-working) setups!

DOCUMENTATION

   The original NetBSD README file is included as "README."  Follow
   the instructions there as well.

THANKS

   Thanks to Niels Provos and Jolan Luff for testing.
