VMware2 commit reminder (was: [5.3-BETA3] VMWare2 problems, with PATCH)

From: Georg-W. Koltermann <gwk_at_rahn-koltermann.de>
Date: Wed, 06 Oct 2004 22:40:58 +0200
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_at_rahn-koltermann.de>
To: freebsd-current_at_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
_at__at_ -1110,7 +1110,7 _at__at_
   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);
_at__at_ -1118,19 +1118,19 _at__at_
   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
_at__at_ -1066,7 +1066,7 _at__at_
         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);	
Received on Wed Oct 06 2004 - 18:41:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:15 UTC