-
Notifications
You must be signed in to change notification settings - Fork 71
Description
Describe the bug
amdgpu.ko built from branch 5.4-lts at change c7ac715 crashes when loaded from kld_list and the kern.vt.splash_cpu=1 is set in /boot/loader.conf. It works fine loading the module after the login prompt or setting kern.vt.splash_cpu=0
FreeBSD version
Paste the output of uname -a
FreeBSD concordia 13.0-RELEASE-p3 FreeBSD 13.0-RELEASE-p3 #12 releng/13.0-n244752-b368bb75bad8: Mon Jul 19 12:39:33 CEST 2021 root@concordia:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG-SG amd64
PCI Info
pciconf -lv
Paste the output of pciconf -vl
hostb0@pci0:0:0:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1480 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse Root Complex'
class = bridge
subclass = HOST-PCI
none0@pci0:0:0:2: class=0x080600 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1481 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse IOMMU'
class = base peripheral
subclass = IOMMU
hostb1@pci0:0:1:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
pcib1@pci0:0:1:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1483 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse GPP Bridge'
class = bridge
subclass = PCI-PCI
pcib2@pci0:0:1:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1483 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse GPP Bridge'
class = bridge
subclass = PCI-PCI
hostb2@pci0:0:2:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
hostb3@pci0:0:3:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
pcib9@pci0:0:3:2: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1483 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse GPP Bridge'
class = bridge
subclass = PCI-PCI
hostb4@pci0:0:4:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
hostb5@pci0:0:5:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
hostb6@pci0:0:7:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
pcib12@pci0:0:7:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1484 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
class = bridge
subclass = PCI-PCI
hostb7@pci0:0:8:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1482 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Host Bridge'
class = bridge
subclass = HOST-PCI
pcib13@pci0:0:8:1: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x1484 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]'
class = bridge
subclass = PCI-PCI
intsmb0@pci0:0:20:0: class=0x0c0500 rev=0x61 hdr=0x00 vendor=0x1022 device=0x790b subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'FCH SMBus Controller'
class = serial bus
subclass = SMBus
isab0@pci0:0:20:3: class=0x060100 rev=0x51 hdr=0x00 vendor=0x1022 device=0x790e subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'FCH LPC Bridge'
class = bridge
subclass = PCI-ISA
hostb8@pci0:0:24:0: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1440 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 0'
class = bridge
subclass = HOST-PCI
hostb9@pci0:0:24:1: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1441 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 1'
class = bridge
subclass = HOST-PCI
hostb10@pci0:0:24:2: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1442 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 2'
class = bridge
subclass = HOST-PCI
hostb11@pci0:0:24:3: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1443 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 3'
class = bridge
subclass = HOST-PCI
hostb12@pci0:0:24:4: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1444 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 4'
class = bridge
subclass = HOST-PCI
hostb13@pci0:0:24:5: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1445 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 5'
class = bridge
subclass = HOST-PCI
hostb14@pci0:0:24:6: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1446 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 6'
class = bridge
subclass = HOST-PCI
hostb15@pci0:0:24:7: class=0x060000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1447 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Device 24: Function 7'
class = bridge
subclass = HOST-PCI
nvme0@pci0:1:0:0: class=0x010802 rev=0x00 hdr=0x00 vendor=0x144d device=0xa808 subvendor=0x144d subdevice=0xa801
vendor = 'Samsung Electronics Co Ltd'
device = 'NVMe SSD Controller SM981/PM981/PM983'
class = mass storage
subclass = NVM
pcib3@pci0:2:0:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57ad subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse Switch Upstream'
class = bridge
subclass = PCI-PCI
pcib4@pci0:3:1:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a3 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse PCIe GPP Bridge'
class = bridge
subclass = PCI-PCI
pcib5@pci0:3:5:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a3 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse PCIe GPP Bridge'
class = bridge
subclass = PCI-PCI
pcib6@pci0:3:8:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a4 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse PCIe GPP Bridge'
class = bridge
subclass = PCI-PCI
pcib7@pci0:3:9:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a4 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse PCIe GPP Bridge'
class = bridge
subclass = PCI-PCI
pcib8@pci0:3:10:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1022 device=0x57a4 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse PCIe GPP Bridge'
class = bridge
subclass = PCI-PCI
nvme1@pci0:4:0:0: class=0x010802 rev=0x00 hdr=0x00 vendor=0x144d device=0xa808 subvendor=0x144d subdevice=0xa801
vendor = 'Samsung Electronics Co Ltd'
device = 'NVMe SSD Controller SM981/PM981/PM983'
class = mass storage
subclass = NVM
igb0@pci0:5:0:0: class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x1539 subvendor=0x1043 subdevice=0x85f0
vendor = 'Intel Corporation'
device = 'I211 Gigabit Network Connection'
class = network
subclass = ethernet
none1@pci0:6:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1485 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse Reserved SPP'
class = non-essential instrumentation
xhci0@pci0:6:0:1: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x149c subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse USB 3.0 Host Controller'
class = serial bus
subclass = USB
xhci1@pci0:6:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x149c subvendor=0x1022 subdevice=0x148c
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse USB 3.0 Host Controller'
class = serial bus
subclass = USB
ahci0@pci0:7:0:0: class=0x010601 rev=0x51 hdr=0x00 vendor=0x1022 device=0x7901 subvendor=0x1022 subdevice=0x7901
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'FCH SATA Controller [AHCI mode]'
class = mass storage
subclass = SATA
ahci1@pci0:8:0:0: class=0x010601 rev=0x51 hdr=0x00 vendor=0x1022 device=0x7901 subvendor=0x1022 subdevice=0x7901
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'FCH SATA Controller [AHCI mode]'
class = mass storage
subclass = SATA
pcib10@pci0:9:0:0: class=0x060400 rev=0xc1 hdr=0x01 vendor=0x1002 device=0x1478 subvendor=0x0000 subdevice=0x0000
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Navi 10 XL Upstream Port of PCI Express Switch'
class = bridge
subclass = PCI-PCI
pcib11@pci0:10:0:0: class=0x060400 rev=0x00 hdr=0x01 vendor=0x1002 device=0x1479 subvendor=0x1002 subdevice=0x1479
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Navi 10 XL Downstream Port of PCI Express Switch'
class = bridge
subclass = PCI-PCI
vgapci0@pci0:11:0:0: class=0x030000 rev=0xc1 hdr=0x00 vendor=0x1002 device=0x731f subvendor=0x1da2 subdevice=0xe411
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]'
class = display
subclass = VGA
hdac0@pci0:11:0:1: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1002 device=0xab38 subvendor=0x1002 subdevice=0xab38
vendor = 'Advanced Micro Devices, Inc. [AMD/ATI]'
device = 'Navi 10 HDMI Audio'
class = multimedia
subclass = HDA
none2@pci0:12:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x148a subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse PCIe Dummy Function'
class = non-essential instrumentation
none3@pci0:13:0:0: class=0x130000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1485 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse Reserved SPP'
class = non-essential instrumentation
none4@pci0:13:0:1: class=0x108000 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1486 subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse Cryptographic Coprocessor PSPCPP'
class = encrypt/decrypt
xhci2@pci0:13:0:3: class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x1022 device=0x149c subvendor=0x1043 subdevice=0x87c0
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Matisse USB 3.0 Host Controller'
class = serial bus
subclass = USB
hdac1@pci0:13:0:4: class=0x040300 rev=0x00 hdr=0x00 vendor=0x1022 device=0x1487 subvendor=0x1043 subdevice=0x8733
vendor = 'Advanced Micro Devices, Inc. [AMD]'
device = 'Starship/Matisse HD Audio Controller'
class = multimedia
subclass = HDA
DRM KMOD version
Build from source at change c7ac715
To Reproduce
Steps to reproduce the behavior:
Prerequisite: You'll need an AMD RX 5700XT :-/
- Build and install drm-kmod at the change indicated.
- sysrc kld_list+=amdgpu
- sysrc kern.vit.splash_cpu="1" -f /boot/loader.conf
- shutdown -r now
The kernel will crash upon loading the amdgpu kernel module. The backtrace is:
<4>Successfully added WC MTRR for [0xd0000000-0xdfffffff]: 0;
<6>[drm] Detected VRAM RAM=8176M, BAR=256M
<6>[drm] RAM width 256bits GDDR6
<6>[TTM] Zone kernel: Available graphics memory: 33488444 KiB
<6>[TTM] Zone dma32: Available graphics memory: 2097152 KiB
<6>[TTM] Initializing pool allocator
<6>[drm] amdgpu: 8176M of VRAM memory ready
<6>[drm] amdgpu: 8176M of GTT memory ready.
<6>[drm] GART: num cpu pages 131072, num gpu pages 131072
<6>[drm] PCIE GART of 512M enabled (table at 0x0000008001FA4000).
drmn0: successfully loaded firmware image 'amdgpu/navi10_sos.bin'
drmn0: successfully loaded firmware image 'amdgpu/navi10_asd.bin'
drmn0: successfully loaded firmware image 'amdgpu/navi10_smc.bin'
drmn0: successfully loaded firmware image 'amdgpu/navi10_pfp.bin'
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x0
fault code = supervisor read instruction, page not present
instruction pointer = 0x20:0x0
stack pointer = 0x28:0xfffffe015cf82928
frame pointer = 0x28:0xfffffe015cf829a0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = resume, IOPL = 0
current process = 12 (swi4: clock (0))
trap number = 12
panic: page fault
cpuid = 0
time = 1628399522
KDB: stack backtrace:
#0 0xffffffff80c58ad5 at kdb_backtrace+0x65
#1 0xffffffff80c0b4b1 at vpanic+0x181
#2 0xffffffff80c0b323 at panic+0x43
#3 0xffffffff8108c1b7 at trap_fatal+0x387
#4 0xffffffff8108c20f at trap_pfault+0x4f
#5 0xffffffff8108b86d at trap+0x27d
#6 0xffffffff81062f68 at calltrap+0x8
#7 0xffffffff80a67ab2 at vt_flush+0x422
#8 0xffffffff80a66c6e at vt_timer+0xe
#9 0xffffffff80c2711d at softclock_call_cc+0x13d
#10 0xffffffff80c275a9 at softclock+0x79
#11 0xffffffff80bcc5ed at ithread_loop+0x24d
#12 0xffffffff80bc93ee at fork_exit+0x7e
#13 0xffffffff81063fee at fork_trampoline+0xe
Uptime: 2s
Dumping 2132 out of 65407 MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..91%
__curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
55 __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct pcpu,
(kgdb) #0 __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1 doadump (textdump=<optimized out>)
at /usr/src/sys/kern/kern_shutdown.c:399
#2 0xffffffff80c0b0a6 in kern_reboot (howto=260)
at /usr/src/sys/kern/kern_shutdown.c:486
#3 0xffffffff80c0b520 in vpanic (fmt=<optimized out>, ap=<optimized out>)
at /usr/src/sys/kern/kern_shutdown.c:919
#4 0xffffffff80c0b323 in panic (fmt=<unavailable>)
at /usr/src/sys/kern/kern_shutdown.c:843
#5 0xffffffff8108c1b7 in trap_fatal (frame=0xfffffe015cf82860, eva=0)
at /usr/src/sys/amd64/amd64/trap.c:915
#6 0xffffffff8108c20f in trap_pfault (frame=frame@entry=0xfffffe015cf82860,
usermode=false, signo=<optimized out>, signo@entry=0x0,
ucode=<optimized out>, ucode@entry=0x0)
at /usr/src/sys/amd64/amd64/trap.c:732
#7 0xffffffff8108b86d in trap (frame=0xfffffe015cf82860)
at /usr/src/sys/amd64/amd64/trap.c:398
#8 <signal handler called>
#9 0x0000000000000000 in ?? ()
#10 0xffffffff80a6905a in vt_draw_2_vga16_px (
vd=0xffffffff818e7288 <vt_consdev>, x=0, y=0, color=<optimized out>)
at /usr/src/sys/dev/vt/vt_cpulogos.c:72
#11 vt_draw_1_logo (vd=<optimized out>, top=0, left=0)
at /usr/src/sys/dev/vt/vt_cpulogos.c:103
#12 vtterm_draw_cpu_logos (vd=vd@entry=0xffffffff818e7288 <vt_consdev>)
at /usr/src/sys/dev/vt/vt_cpulogos.c:148
#13 0xffffffff80a67ab2 in vt_flush (vd=0xffffffff818e7288 <vt_consdev>)
at /usr/src/sys/dev/vt/vt_core.c:1376
#14 0xffffffff80a66c6e in vt_timer (arg=0xffffffff818e7288 <vt_consdev>)
at /usr/src/sys/dev/vt/vt_core.c:1397
#15 0xffffffff80c2711d in softclock_call_cc (
c=0xffffffff818e7398 <vt_consdev+272>,
cc=cc@entry=0xffffffff81ca9200 <cc_cpu>, direct=direct@entry=0)
at /usr/src/sys/kern/kern_timeout.c:696
#16 0xffffffff80c275a9 in softclock (arg=0xffffffff81ca9200 <cc_cpu>)
at /usr/src/sys/kern/kern_timeout.c:816
#17 0xffffffff80bcc5ed in intr_event_execute_handlers (p=<optimized out>,
ie=0xfffff80003bd5b00) at /usr/src/sys/kern/kern_intr.c:1168
#18 ithread_execute_handlers (p=<optimized out>, ie=0xfffff80003bd5b00)
at /usr/src/sys/kern/kern_intr.c:1181
#19 ithread_loop (arg=arg@entry=0xfffff80003c1e840)
at /usr/src/sys/kern/kern_intr.c:1269
#20 0xffffffff80bc93ee in fork_exit (
callout=0xffffffff80bcc3a0 <ithread_loop>, arg=0xfffff80003c1e840,
frame=0xfffffe015cf82bc0) at /usr/src/sys/kern/kern_fork.c:1069
#21 <signal handler called>
(kgdb)
Disabling kern.vt.splash_cpu will let the module load.
Additional context
I suspect that the dummy vt issue is causing an issue with vt_draw_2_vga16_px. Maybe it gets called later?