Subject: Re: vmware3 runtime error on -current
To: None <jnr@cwru.edu>
From: Shingo WATANABE / =?ISO-2022-JP?B?GyRCRU9KVRsoQiAbJEI/LThjGyhC?= <nabe@nabechan.org>
List: current-users
Date: 06/03/2003 11:59:11
Hello,

I had the same problem and fixed it.
I think this problem is the same of pkg/21424.

Now VMware3 works well with my NetBSD 1.6T.

At Mon, 2 Jun 2003 18:17:56 -0400,
Joe Reed <jnr@cwru.edu> wrote:
> 
> i just installed pkgsrc/emulators/vmware3.  it compiled and installed without 
> error, and i made the necessary modifications to rc.d and rc.conf as 
> directed.  however, when i run vmware, i get the following error:
> 
> *********** snip ****************
> VMware Workstation Error:
> Version mismatch with vmmon module: expecting 30.0, got 10.0.
> You have an incorrect version of the `vmmon' kernel module.
> Try reinstalling VMware Workstation.
> 
> Press "Enter" to continue...
> ************ end_snip ******************

You need to recompile the vmware-module3 with the following patch.

	% cd /usr/pkgsrc/emulators/vmware-module3
	% make patch
	% cd work/source/vmmon/
	% patch -p < /hogehoge/the-following-patch-file
	% make
	% make install

----
Shingo WATANABE




diff -ur /usr/pkgsrc/emulators/vmware-module3/work/source/vmmon/include/iocontrols.h ./include/iocontrols.h
--- /usr/pkgsrc/emulators/vmware-module3/work/source/vmmon/include/iocontrols.h	2003-02-17 02:42:22.000000000 +0900
+++ ./include/iocontrols.h	2003-05-23 20:49:12.000000000 +0900
@@ -29,7 +29,7 @@
  * as well as new driver with old executable).
  */
 
-#define VMMON_VERSION		(10 << 16 | 0)
+#define VMMON_VERSION		(30 << 16 | 0)
 #define VMMON_VERSION_MAJOR(v)	((uint32) (v) >> 16)
 #define VMMON_VERSION_MINOR(v)	((uint16) (v))
 
Only in ./include: iocontrols.h~
diff -ur /usr/pkgsrc/emulators/vmware-module3/work/source/vmmon/include/modulecall.h ./include/modulecall.h
--- /usr/pkgsrc/emulators/vmware-module3/work/source/vmmon/include/modulecall.h	2003-02-17 00:32:34.000000000 +0900
+++ ./include/modulecall.h	2003-05-23 20:51:25.000000000 +0900
@@ -91,6 +91,7 @@
 
 #define MAX_PASSTHROUGH_PORT 1024
 #define NUM_PASSTHROUGH_WORDS (MAX_PASSTHROUGH_PORT / 32)
+#define INTERRUPT_REDIRECTION_BITMAP_SIZE 32
 
 #ifdef __GNUC__
  struct ContextInfo {
@@ -131,11 +132,13 @@
    uint8 contextSwitchCode[CONTEXT_SWITCH_CODE_SIZE];
 
    /*
-    * iobitMap must immediately follow monContext.task
+    * iobitMap must immediately follow the interrupt redirection
+    * bitmap, which must immediately follow monContext.task
     * (ASSERT fail otherwise)
     */
    ContextInfo hostContext;
    ContextInfo monContext;
+   uint8       interruptRedirectionBitMap[INTERRUPT_REDIRECTION_BITMAP_SIZE];
    uint32      iobitMap[NUM_PASSTHROUGH_WORDS];
 
    struct VMCrossPage * hostVA;
@@ -175,8 +178,8 @@
  } VMCrossPage;
 #endif
 
-#define MODULECALL_CROSSPAGE_SIZE     0x5d0
-#define MODULECALL_CROSSPAGE_LAOFFSET 0x5a8
+#define MODULECALL_CROSSPAGE_SIZE     0x5f0
+#define MODULECALL_CROSSPAGE_LAOFFSET 0x5c8
 
 
 #define CROSSPAGE_VERSION (0x1776 + VERSION_MAGIC)