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 Sat Sep 11 2004 - 19:52:31 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:11 UTC