From owner-freebsd-current@FreeBSD.ORG Wed Oct 6 20:41:05 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9765E16A4CE for ; Wed, 6 Oct 2004 20:41:05 +0000 (GMT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.190]) by mx1.FreeBSD.org (Postfix) with ESMTP id D3A1143D48 for ; Wed, 6 Oct 2004 20:41:04 +0000 (GMT) (envelope-from gwk@rahn-koltermann.de) Received: from [212.227.126.206] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1CFIau-0001If-00 for freebsd-current@freebsd.org; Wed, 06 Oct 2004 22:41:04 +0200 Received: from [217.232.148.23] (helo=[192.168.0.3]) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1CFIat-0000Ug-00 for freebsd-current@freebsd.org; Wed, 06 Oct 2004 22:41:03 +0200 From: "Georg-W. Koltermann" To: freebsd-current@freebsd.org Content-Type: text/plain Message-Id: <1097095258.1232.5.camel@localhost.muc.eu.mscsoftware.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Wed, 06 Oct 2004 22:40:58 +0200 Content-Transfer-Encoding: 7bit X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:90bcaad5e51ecc993b2919ba4b74e6dc Subject: VMware2 commit reminder (was: [5.3-BETA3] VMWare2 problems, with PATCH) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Oct 2004 20:41:05 -0000 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 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);