8427aa0d23
Almost of patches are inspired by emulators/vmware-module3.
45 lines
1.2 KiB
Text
45 lines
1.2 KiB
Text
$NetBSD: patch-ad,v 1.5 2007/07/31 14:44:03 obache Exp $
|
|
|
|
--- source/vmmon/netbsd/host.c.orig 2003-02-16 21:28:36.000000000 +0900
|
|
+++ source/vmmon/netbsd/host.c
|
|
@@ -60,6 +60,13 @@ lyaev Exp $
|
|
extern vm_map_t kernel_map;
|
|
#endif
|
|
|
|
+/* use curproc for pre-nathanw-sa world, curlwp post */
|
|
+#if __NetBSD_Version__ >= 106130000
|
|
+#define CURLWP curlwp /* new world order */
|
|
+#else
|
|
+#define CURLWP curproc /* old world order */
|
|
+#endif
|
|
+
|
|
#include "x86.h"
|
|
#include "vm_types.h"
|
|
#include "vm_assert.h"
|
|
@@ -272,7 +279,7 @@ HostIF_InitFP(VMDriver *vm)
|
|
|
|
if (!(val & mask)) {
|
|
val = val | mask;
|
|
- outb(val,0xA1);
|
|
+ outb(0xA1,val);
|
|
}
|
|
#endif
|
|
}
|
|
@@ -635,7 +642,7 @@ HostIF_UserToDriverPtr(VMDriver *vm, voi
|
|
if (vm->crossvaddr != NULL)
|
|
Warning("KernelAddr already allocated\n");
|
|
|
|
- PHOLD(curproc);
|
|
+ PHOLD(CURLWP);
|
|
uvm_vslock(curproc, addr, PAGE_SIZE,
|
|
VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE);
|
|
|
|
@@ -644,7 +651,7 @@ HostIF_UserToDriverPtr(VMDriver *vm, voi
|
|
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);
|
|
- PRELE(curproc);
|
|
+ PRELE(CURLWP);
|
|
vm->crossvaddr = (void *)kvaddr;
|
|
vm->crossuaddr = addr;
|
|
#ifdef DEBUG
|