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