vmware-modules for NetBSD 1.6M or later

NetBSD 1.6M に上げたら、また vmware-modules がコンパイルできなくなっ た。NetBSD 1.6H以降用の vmware-modules からの差分。

diff -uarN source/vmmon/include/x86.h make/vmware/source/vmmon/include/x86.h
--- source/vmmon/include/x86.h	Sun Oct 20 20:26:03 2002
+++ make/vmware/source/vmmon/include/x86.h	Tue Jan 21 05:16:12 2003
@@ -180,9 +180,11 @@
 #define MSR_TSC              0x00000010
 #endif
 #define MSR_MTRR_CAP         0x000000fe
+#if __NetBSD_Version__ <= 106120000
 #define MSR_SYSENTER_CS      0x00000174
 #define MSR_SYSENTER_ESP     0x00000175
 #define MSR_SYSENTER_EIP     0x00000176
+#endif
 
 
 typedef uint32 CReg;
diff -uarN source/vmmon/netbsd/drv.c make/vmware/source/vmmon/netbsd/drv.c
--- source/vmmon/netbsd/drv.c	Tue Sep 24 13:47:58 2002
+++ make/vmware/source/vmmon/netbsd/drv.c	Tue Jan 21 05:18:08 2003
@@ -680,6 +680,6 @@
 		vWarning(vm);
 	}
   
-	exit1(curproc, 0);
+	exit1((void*)curproc, 0);
 	/* NOTREACHED */
 }
diff -uarN source/vmmon/netbsd/host.c make/vmware/source/vmmon/netbsd/host.c
--- source/vmmon/netbsd/host.c	Thu Dec 27 12:49:36 2001
+++ make/vmware/source/vmmon/netbsd/host.c	Mon Jan 20 21:52:03 2003
@@ -635,7 +635,11 @@
 	if (vm->crossvaddr != NULL)
 		Warning("KernelAddr already allocated\n");
 
+#if __NetBSD_Version__ <= 106120000
 	PHOLD(curproc);
+#else
+	PHOLD((struct lwp *)curproc);
+#endif
 	uvm_vslock(curproc, addr, PAGE_SIZE,
 	    VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE);
 
@@ -644,7 +648,11 @@
 	pmap_extract(vm_map_pmap(&curproc->p_vmspace->vm_map), uaddr, &paddr);
 	pmap_kenter_pa(kvaddr, paddr,
 	    VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE);
+#if __NetBSD_Version__ <= 106120000
 	PRELE(curproc);
+#else
+	PRELE((struct lwp *)curproc);
+#endif
 	vm->crossvaddr = (void *)kvaddr;
 	vm->crossuaddr = addr;
 #ifdef DEBUG

んでもって、 vmware-modules-20030120.tar.gz
当然無保証。


Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]