> On Aug 21, 2018, at 10:10 PM, Alan Cox <a...@rice.edu> wrote:
> 
> On 08/21/2018 23:29, Manfred Antar wrote:
>> 
>>> On Aug 21, 2018, at 7:23 PM, Alexey Dokuchaev <da...@freebsd.org> wrote:
>>> 
>>> On Tue, Aug 21, 2018 at 11:22:56PM +0700, Alex V. Petrov wrote:
>>>> -------- Перенаправленное сообщение --------
>>>> Тема: nvidia-driver build error (last ports, FreeBSD-HEAD)
>>>> Дата: Tue, 21 Aug 2018 16:41:42 +0700
>>>> От: Alex V. Petrov <alexvpet...@gmail.com>
>>>> Кому: FreeBSD Ports <freebsd-po...@freebsd.org>
>>> Should be fixed as of r477761.
>>> 
>>> ./danfe
>> emulators/open-vm-tools is also broken from the recent changes to sys/vm:
>> cc  -O2 -pipe -isystem /usr/local/include -fno-strict-aliasing  -Werror 
>> -D_KERNEL -DKLD_MODULE -nostdinc  
>> -I/usr/ports/emulators/open-vm-tools/work/open-vm-tools-stable-10.2.5/open-vm-tools/lib/include
>>  
>> -I/usr/ports/emulators/open-vm-tools/work/open-vm-tools-stable-10.2.5/open-vm-tools/modules/shared/vmxnet
>>  -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common  
>> -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   -MD  
>> -MF.depend.if_vxn.o -MTif_vxn.o -mcmodel=kernel -mno-red-zone -mno-mmx 
>> -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding 
>> -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs 
>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef 
>> -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs 
>> -fdiagnostics-show-option -Wno-unknown-pragmas 
>> -Wno-error-tautological-compare -Wno-error-empty-body 
>> -Wno-error-parentheses-equality -Wno-error-unused-function 
>> -Wno-error-pointer-sign -Wno-error-shift-negative-value 
>> -Wno-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999 -c 
>> if_vxn.c -o if_vxn.o
>> --- vmmemctl ---
>> os.c:410:68: error: too many arguments to function call, expected 2, have 3
>>   p->bitmap = (unsigned long *)kmem_malloc(kernel_arena, p->size, M_WAITOK | 
>> M_ZERO);
>>                                ~~~~~~~~~~~                        
>> ^~~~~~~~~~~~~~~~~
>> /usr/src/sys/sys/malloc.h:55:18: note: expanded from macro 'M_WAITOK'
>> #define M_WAITOK        0x0002          /* ok to block */
>>                        ^
>> /usr/src/sys/vm/vm_extern.h:67:1: note: 'kmem_malloc' declared here
>> vm_offset_t kmem_malloc(vm_size_t size, int flags);
>> ^
>> 1 error generated.
>> 
>> I also had to rebuild kde-workspace-kde4 and xorg-server before i could 
>> start x without open-vm-tools.
>> This is on a FreeBSD-12-Alpha2-current as of today.the old 
>> open-vm-tools/modules/freebsd/vmmemctl
>> will hang,so i needed to uninstall it to get x.
>> 
>> if these lines are removed from open-vm-tools/modules/freebsd/vmmemctl/os.h 
>> open-vm-tools will compile and work:
>> 
>> 407,411d406
>> < #if __FreeBSD_version < 1000000
>> <    p->bitmap = (unsigned long *)kmem_alloc(kernel_map, p->size);
>> < #else
>> <    p->bitmap = (unsigned long *)kmem_malloc(kernel_arena, p->size, 
>> M_WAITOK | M_ZERO);
>> < #endif
>> 
>> Not sure if this is the right fix but it enabled me to use the vm-tools 
>> again and the associated modules
> 
> Change this to
> 
> #if __FreeBSD_version < 1000000
>    p->bitmap = (unsigned long *)kmem_alloc(kernel_map, p->size);
> #elif  __FreeBSD_version < 1200080
>    p->bitmap = (unsigned long *)kmem_malloc(kernel_arena, p->size,
> M_WAITOK | M_ZERO);
> #else
>    p->bitmap = (unsigned long *)kmem_malloc(p->size, M_WAITOK | M_ZERO);
> #endif
> 
> That said, it's not clear to me why this allocation doesn't use
> malloc(9), then no #if's would be required across different versions of
> FreeBSD.
> 

This works on current AMD64
Thanks

_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to