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)