Date: Wed, 06 Oct 2004 22:40:58 +0200 From: "Georg-W. Koltermann" <gwk@rahn-koltermann.de> To: freebsd-current@freebsd.org Subject: VMware2 commit reminder (was: [5.3-BETA3] VMWare2 problems, with PATCH) Message-ID: <1097095258.1232.5.camel@localhost.muc.eu.mscsoftware.com>
next in thread | raw e-mail | index | archive | help
Hi,
it's only a few days away from 5.3-R so I thought I might remind you to
commit the patches to get VMware2 to work again. See enclosed email
detailing the technical points.
I have those fixes in use on my system day to day with no negative
by-effect.
--
Regards,
Georg.
-----Weitergeleitete Nachricht-----
From: Georg-W. Koltermann <gwk@rahn-koltermann.de>
To: freebsd-current@freebsd.org
Subject: [5.3-BETA3] VMWare2 problems, with PATCH
Date: Sat, 11 Sep 2004 23:52:25 +0200
Hi,
trying to get VMWare2 to run on 5.3-BETA3, I noticed two problems:
a) It doesn't compile. You have to apply the patch from
ports/68202
b) Then it fails when trying to load the kernel module due to an
undefined external kmem_alloc_pageable(). I have replaced the
calls with kmem_alloc_nofault() as suggested in a different
posting about VMWare3.
Could you please commit the patches from ports/68202 and the fix for b)
above, which I'm enclosing.
--
Thanks,
Georg.
-----------------------snip-----------------------------
--- vmmon-only/freebsd/hostif.c~ Fri Sep 10 11:50:20 2004
+++ vmmon-only/freebsd/hostif.c Fri Sep 10 19:19:27 2004
@@ -1110,7 +1110,7 @@
paddr = vtophys(addr);
#if __FreeBSD_version >= 500038
GIANT_REQUIRED;
- ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+ ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
ka->map = PHYS_TO_VM_PAGE(paddr);
vm_page_lock_queues();
vm_page_wire(ka->map);
@@ -1118,19 +1118,19 @@
pmap_qenter(ka->kaddr, &ka->map, 1);
#elif __FreeBSD_version >= 500021
GIANT_REQUIRED;
- ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+ ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
ka->map = PHYS_TO_VM_PAGE(paddr);
vm_page_wire(ka->map);
pmap_kenter(ka->kaddr, paddr);
#elif __FreeBSD_version >= 500013
mtx_lock(&vm_mtx);
- ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+ ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
ka->map = PHYS_TO_VM_PAGE(paddr);
vm_page_wire(ka->map);
pmap_kenter(ka->kaddr, paddr);
mtx_unlock(&vm_mtx);
#else
- ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+ ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
ka->map = PHYS_TO_VM_PAGE(paddr);
vm_page_wire(ka->map);
pmap_kenter(ka->kaddr, paddr);
--- ../vmmon-only/freebsd/hostif.c~ Fri Sep 10 11:50:20 2004
+++ ../vmmon-only/freebsd/hostif.c Fri Sep 10 19:19:27 2004
@@ -1066,7 +1066,7 @@
return NULL;
}
paddr = vtophys(addr);
- ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+ ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
ka->map = PHYS_TO_VM_PAGE(paddr);
vm_page_wire(ka->map);
pmap_kenter(ka->kaddr, paddr);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1097095258.1232.5.camel>
