From owner-freebsd-current@FreeBSD.ORG Sat Sep 11 21:52:31 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 2904316A4CF for ; Sat, 11 Sep 2004 21:52:31 +0000 (GMT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.183]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8032943D48 for ; Sat, 11 Sep 2004 21:52:30 +0000 (GMT) (envelope-from gwk@rahn-koltermann.de) Received: from [212.227.126.209] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1C6FnJ-0003Ob-00 for freebsd-current@freebsd.org; Sat, 11 Sep 2004 23:52:29 +0200 Received: from [217.232.140.192] (helo=[192.168.0.3]) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1C6FnJ-0005Px-00 for freebsd-current@freebsd.org; Sat, 11 Sep 2004 23:52:29 +0200 From: "Georg-W. Koltermann" To: freebsd-current@freebsd.org Content-Type: text/plain Message-Id: <1094939545.2033.6.camel@localhost.muc.eu.mscsoftware.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Sat, 11 Sep 2004 23:52:25 +0200 Content-Transfer-Encoding: 7bit X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:90bcaad5e51ecc993b2919ba4b74e6dc Subject: [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: Sat, 11 Sep 2004 21:52:31 -0000 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);