On 25. 4. 18., Nuno Teixeira wrote:
Hello,

graphics/drm-61-kmod is failing to build and maybe related to some of this commits.
Could you take a look and check if it related?

Thanks

```
cc  -O2 -pipe -fno-strict-aliasing -DLINUXKPI_VERSION=60100 '- DKBUILD_MODNAME="i915kms"' '-DLINUXKPI_PARAM_PREFIX=i915_' - DDRM_SYSCTL_PARAM_PREFIX=_i915kms -DCONFIG_DRM_AMDGPU_CIK - DCONFIG_DRM_AMDGPU_SI -DCONFIG_DRM_AMD_DC -DCONFIG_DRM_AMD_DC_SI - DCONFIG_AMD_PMC -DCONFIG_DRM_I915_FORCE_PROBE='"*"' - DCONFIG_DRM_I915_REQUEST_TIMEOUT=20000 -DCONFIG_DRM_I915_CAPTURE_ERROR - DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 - DCONFIG_DRM_I915_STOP_TIMEOUT=100 -DCONFIG_DRM_I915_PREEMPT_TIMEOUT=640 -DCONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 - DCONFIG_DRM_I915_TIMESLICE_DURATION=1 - DCONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 - DCONFIG_DRM_I915_FENCE_TIMEOUT=10000 -DCONFIG_DRM_MIPI_DSI - DCONFIG_DRM_PANEL_ORIENTATION_QUIRKS -DCONFIG_APERTURE_HELPERS - DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DRM_FBDEV_OVERALLOC=100 - DCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG -DCONFIG_BACKLIGHT_CLASS_DEVICE - DCONFIG_DEBUG_FS -DCONFIG_DMI -DCONFIG_FB -DCONFIG_MTRR -DCONFIG_PCI - DCONFIG_PM -DCONFIG_PM_SLEEP -DCONFIG_SMP -DCONFIG_SUSPEND -DCONFIG_ACPI -DCONFIG_ACPI_SLEEP -DCONFIG_X86 -DCONFIG_X86_PAT -DCONFIG_64BIT - DCONFIG_AS_MOVNTDQA -DCONFIG_COMPAT -DCONFIG_X86_64 - DCONFIG_DRM_AMD_DC_DCN -DCONFIG_DRM_AMD_DC_DCN3_0 - DCONFIG_DRM_AMD_DC_DCN3_01 -DCONFIG_DRM_AMD_DC_DCN3_02 - DCONFIG_DRM_AMD_DC_DCN3_1  -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/wrkdirs/usr/ports/graphics/drm-61- kmod/work/drm-kmod-drm_v6.1.128_1/linuxkpi/gplv2/include -I/wrkdirs/usr/ ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/linuxkpi/bsd/ include -I/usr/src/sys/compat/linuxkpi/common/include -I/usr/src/sys/ compat/linuxkpi/dummy/include -I/wrkdirs/usr/ports/graphics/drm-61-kmod/ work/drm-kmod-drm_v6.1.128_1/include -I/wrkdirs/usr/ports/graphics/ drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/drm -I/wrkdirs/usr/ ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/uapi -I/ wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ drivers/gpu -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod- drm_v6.1.128_1/drivers/gpu/drm/i915 -I/wrkdirs/usr/ports/graphics/ drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/display - include /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod- drm_v6.1.128_1/obj/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod- drm_v6.1.128_1/i915/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.i915_gem_stolen.o - MTi915_gem_stolen.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse - msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv - fstack-protector  -Wall -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 -Wswitch -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 -Wno- pointer-arith -Wno-format -Wno-cast-qual   -mno-aes -mno-avx  -std=gnu17 -c /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ drivers/gpu/drm/i915/gem/i915_gem_stolen.c -o i915_gem_stolen.o
--- i915_gem_mman.o ---
/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:77: error: call to undeclared function 'vm_page_next'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]   171 |                         for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) {       |                                  ^ /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/ drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:75: error: incompatible integer to pointer conversion assigning to 'vm_page_t' (aka 'struct vm_page *') from 'int' [-Wint-conversion]   171 |                         for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) {       |                                ^ ~~~~~~~~~~~~~~~~~~
2 errors generated.
*** [i915_gem_mman.o] Error code 1

make[1]: stopped making "all" in /wrkdirs/usr/ports/graphics/drm-61- kmod/work/drm-kmod-drm_v6.1.128_1/i915
make[1]: 1 error
```

Doug Moore <do...@freebsd.org <mailto:do...@freebsd.org>> escreveu (sexta, 18/04/2025 à(s) 20:28):

    The branch main has been updated by dougm:

    URL: https://cgit.FreeBSD.org/src/commit/?
    id=a3a88ed22cb111da3336f64ec3ba5815a8278f88 <https://
    cgit.FreeBSD.org/src/commit/?
    id=a3a88ed22cb111da3336f64ec3ba5815a8278f88>

    commit a3a88ed22cb111da3336f64ec3ba5815a8278f88
    Author:     Doug Moore <do...@freebsd.org>
    AuthorDate: 2025-04-18 19:26:56 +0000
    Commit:     Doug Moore <do...@freebsd.org>
    CommitDate: 2025-04-18 19:26:56 +0000

         vm_page: drop prev and next

         Functions vm_page_prev() and vm_page_next() are no longer
         invoked. Remove them.

         Reviewed by:    kib
         Differential Revision: https://reviews.freebsd.org/D49892
    <https://reviews.freebsd.org/D49892>
    ---
      sys/vm/vm_page.c | 40 ----------------------------------------
      sys/vm/vm_page.h |  2 --
      2 files changed, 42 deletions(-)

    diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
    index 65d278caf3fd..db91b7bab2ab 100644
    --- a/sys/vm/vm_page.c
    +++ b/sys/vm/vm_page.c
    @@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object,
    vm_pindex_t pindex)
             return (m);
      }

    -/*
    - * Returns the given page's successor (by pindex) within the object
    if it is
    - * resident; if none is found, NULL is returned.
    - *
    - * The object must be locked.
    - */
    -vm_page_t
    -vm_page_next(vm_page_t m)
    -{
    -       vm_page_t next;
    -
    -       VM_OBJECT_ASSERT_LOCKED(m->object);
    -       if ((next = TAILQ_NEXT(m, listq)) != NULL) {
    -               MPASS(next->object == m->object);
    -               if (next->pindex != m->pindex + 1)
    -                       next = NULL;
    -       }
    -       return (next);
    -}
    -
    -/*
    - * Returns the given page's predecessor (by pindex) within the
    object if it is
    - * resident; if none is found, NULL is returned.
    - *
    - * The object must be locked.
    - */
    -vm_page_t
    -vm_page_prev(vm_page_t m)
    -{
    -       vm_page_t prev;
    -
    -       VM_OBJECT_ASSERT_LOCKED(m->object);
    -       if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL) {
    -               MPASS(prev->object == m->object);
    -               if (prev->pindex != m->pindex - 1)
    -                       prev = NULL;
    -       }
    -       return (prev);
    -}
    -
      /*
       * Uses the page mnew as a replacement for an existing page at index
       * pindex which must be already present in the object.
    diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
    index 0a40b42ffb62..bf2e850612d7 100644
    --- a/sys/vm/vm_page.h
    +++ b/sys/vm/vm_page.h
    @@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter
    *old_pages, vm_page_t m,
      void vm_page_launder(vm_page_t m);
      vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t);
      vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t);
    -vm_page_t vm_page_next(vm_page_t m);
      void vm_page_pqbatch_drain(void);
      void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue);
      bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old,
          vm_page_astate_t new);
    -vm_page_t vm_page_prev(vm_page_t m);
      bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t
    skip_m);
      void vm_page_putfake(vm_page_t m);
      void vm_page_readahead_finish(vm_page_t m);



--
Nuno Teixeira
FreeBSD UNIX:  <edua...@freebsd.org>   Web: https://FreeBSD.org <https://FreeBSD.org>

FYI, emulators/virtualbox-ose-kmod, emulators/virtualbox-ose-kmod-70, and graphics/drm-66-kmod are also affected.

Jung-uk Kim

Reply via email to