Summary: | i915kms: Kernel panic loading module on custom kernel w/ MAXCPU < 256 (Invalid CPU in callout 256) | ||
---|---|---|---|
Product: | Base System | Reporter: | Joshua Kinard <freebsd> |
Component: | kern | Assignee: | freebsd-bugs (Nobody) <bugs> |
Status: | Open --- | ||
Severity: | Affects Some People | CC: | emaste, glebius, hselasky, mail |
Priority: | --- | Keywords: | crash, i915, needs-qa |
Version: | 12.0-RELEASE | Flags: | koobs:
mfc-stable12?
koobs: mfc-stable11? |
Hardware: | amd64 | ||
OS: | Any | ||
See Also: | https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269572 |
Description
Joshua Kinard
2019-11-04 00:30:00 UTC
Thank you for the report Joshua Is the issue also reproducible with drm-kmod from ports? See 12.0-RELEASE release notes [1]: https://www.freebsd.org/releases/12.0R/relnotes.html#hardware-graphics I believe it is. When I initially tested on 12.1-RC2, I followed this mailing list thread here, thinking this thread highlighted my problem: https://www.mail-archive.com/freebsd-stable@freebsd.org/msg138326.html So I built drm-fbsd12.0-kmod-4.16.g20191024 via ports as a package (as well as gpu-firmware-kmod-g20191015), then installed that package to get it working on 12.1-RC2 (needed because I'm building a Kodi box and need EVDEV for working bluetooth mouse/keyboard via a mini keyboard device). Before I rebuilt my kernel w/o MAXCPU, it'd crash virtually the exact same way. Just a slight difference in the stack trace where after the call to "intel_dp_init_connector", there's a call to "intel_edp_panel_vdd_sanitize", then the call to "linux_queue_delayed_work_on", which goes on to trigger the panic. After rebuilding the 12.1-RC2 kernel and commenting out MAXCPU, it works fine w/ i915kms.ko from the rebuilt drm-fbsd12.0-kmod package. Even got Kodi up and working (just working on sound output now). I suspect the drm-kms modules need default values for some kernel parameters, because when building these we don't use the config file used by the kernel. This might be possible to fix, by generating the needed kernel options from the current kernel config file. FWIW, it took me half a day to realise I was bitten by the same thing on 12.2-STABLE as of today. What works is to compile drm-fbsd12.0-kmod with the same value for MAXCPU as the kernel. A smaller value for the kmod does not help either. There is a broad issue with out-of-tree kernel modules not picking up kernel configuration options; we need to develop a holistic solution for this. At work we simply dump: sysctl kern.conftxt and run configure on that to get all the options correct. --HPS |