[Bug 268262] /usr/ports/x11/nvidia-driver-470 - nvidia_os.c:285:19: error: incompatible integer to pointer conversion passing 'vm_offset_t'

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 08 Dec 2022 23:02:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268262

            Bug ID: 268262
           Summary: /usr/ports/x11/nvidia-driver-470  -
                    nvidia_os.c:285:19: error: incompatible integer to
                    pointer conversion passing 'vm_offset_t'
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: danfe@FreeBSD.org
          Reporter: andy@neu.net
             Flags: maintainer-feedback?(danfe@FreeBSD.org)
          Assignee: danfe@FreeBSD.org

FreeBSD FBSD14 14.0-CURRENT FreeBSD 14.0-CURRENT #33 main-n258023-1e8a0a30537:
Thu Sep 15 12:24:03 EDT 2022    
root@FBSD14:/usr/obj/usr/src/amd64.amd64/sys/MYKERNEL amd64 1400067


cc  -O2 -pipe -fno-strict-aliasing -DNV_VERSION_STRING=\"470.141.03\"
-D__KERNEL__ -DNVRM -Wno-unused-function -Wuninitialized -O2
-fno-strict-aliasing -mno-red-zone -mcmodel=kernel -UDEBUG -U_DEBUG -DNDEBUG
-DNV_SPECTRE_V2=1 -DNV_KERNEL_INTERFACE_LAYER -Werror=undef  -Werror -D_KERNEL
-DKLD_MODULE -nostdinc  -I. -I../common/inc -include
/usr/ports/x11/nvidia-driver-470/work/NVIDIA-FreeBSD-x86_64-470.141.03/src/nvidia/opt_global.h
-I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common 
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
-fdebug-prefix-map=./machine=/usr/src/sys/amd64/include
-fdebug-prefix-map=./x86=/usr/src/sys/x86/include
-fdebug-prefix-map=./i386=/usr/src/sys/i386/include     -MD 
-MF.depend.nvlink_freebsd.o -MTnvlink_freebsd.o -mcmodel=kernel -mno-red-zone
-mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding
-fwrapv -fstack-protector -Wall -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
-Wno-format-zero-length   -mno-aes -mno-avx  -std=iso9899:1999 -c
nvlink_freebsd.c -o nvlink_freebsd.o
--- nvidia_os.o ---
nvidia_os.c:285:19: error: incompatible integer to pointer conversion passing
'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *'
[-Werror,-Wint-conversion]
    pmap_unmapdev((vm_offset_t)address, size);
                  ^~~~~~~~~~~~~~~~~~~~
./machine/pmap.h:476:26: note: passing argument to parameter here
void    pmap_unmapdev(void *, vm_size_t);
                            ^
--- nvidia_subr.o ---
nvidia_subr.c:1170:13: error: incompatible pointer to integer conversion
assigning to 'vm_offset_t' (aka 'unsigned long') from 'void *'
[-Werror,-Wint-conversion]
    address = NV_KMEM_ALLOC_CONTIG(size, flags, 0,
            ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- nvidia_os.o ---
1 error generated.
--- nvidia_subr.o ---
nvidia_subr.c:1218:22: error: incompatible integer to pointer conversion
passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *'
[-Werror,-Wint-conversion]
        NV_KMEM_FREE(at->pte_array[0].virtual_address, at->size);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:334:15: note: expanded from macro 'NV_KMEM_FREE'
    kmem_free(address, size)
              ^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr'
here
void kmem_free(void *addr, vm_size_t size);
                     ^
nvidia_subr.c:1240:18: error: incompatible integer to pointer conversion
passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *'
[-Werror,-Wint-conversion]
    NV_KMEM_FREE(at->pte_array[0].virtual_address, at->size);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:334:15: note: expanded from macro 'NV_KMEM_FREE'
    kmem_free(address, size)
              ^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr'
here
void kmem_free(void *addr, vm_size_t size);
                     ^
nvidia_subr.c:1302:17: error: incompatible pointer to integer conversion
assigning to 'vm_offset_t' (aka 'unsigned long') from 'void *'
[-Werror,-Wint-conversion]
        address = NV_KMEM_ALLOC_CONTIG(PAGE_SIZE, flags, 0,
                ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nvidia_subr.c:1355:22: error: incompatible integer to pointer conversion
passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *'
[-Werror,-Wint-conversion]
        NV_KMEM_FREE(at->pte_array[i].virtual_address, PAGE_SIZE);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:334:15: note: expanded from macro 'NV_KMEM_FREE'
    kmem_free(address, size)
              ^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr'
here
void kmem_free(void *addr, vm_size_t size);
                     ^
nvidia_subr.c:1381:22: error: incompatible integer to pointer conversion
passing 'vm_offset_t' (aka 'unsigned long') to parameter of type 'void *'
[-Werror,-Wint-conversion]
        NV_KMEM_FREE(at->pte_array[i].virtual_address, PAGE_SIZE);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nv-freebsd.h:334:15: note: expanded from macro 'NV_KMEM_FREE'
    kmem_free(address, size)
              ^~~~~~~
/usr/src/sys/vm/vm_extern.h:73:22: note: passing argument to parameter 'addr'
here
void kmem_free(void *addr, vm_size_t size);
                     ^
--- nvidia_os.o ---
*** [nvidia_os.o] Error code 1

make[4]: stopped in
/usr/ports/x11/nvidia-driver-470/work/NVIDIA-FreeBSD-x86_64-470.141.03/src/nvidia
--- nvidia_subr.o ---
6 errors generated.
*** [nvidia_subr.o] Error code 1

-- 
You are receiving this mail because:
You are the assignee for the bug.