AMD-Vi:[固件错误]::IOAPIC[5] 不在 IVRS 表中

AMD-Vi:[固件错误]::IOAPIC[5] 不在 IVRS 表中

在我的 Lenovo Ideapad 320(最新可用 BIOS)上启动 Debian bullseye 时,5.9.0-1-amd64 #1 SMP Debian 5.9.1-1 (2020-10-17) x86_64 GNU/Linux我收到那些固件错误,抱怨 IVRS 表中缺少 IOAPIC 条目。

请注意以下详细输出amd_iommu_dump=1来自这个类似的问题

[    0.242293] AMD-Vi: Using IVHD type 0x11
[    0.243158] AMD-Vi: device: 00:00.2 cap: 0040 seg: 0 flags: b8 info 0000
[    0.243159] AMD-Vi:        mmio-addr: 00000000feb80000
[    0.243184] AMD-Vi:   DEV_SELECT_RANGE_START  devid: 00:01.0 flags: 00
[    0.243186] AMD-Vi:   DEV_RANGE_END           devid: ff:1f.6
[    0.243857] AMD-Vi:   DEV_ALIAS_RANGE                 devid: ff:00.0 flags: 00 devid_to: 00:14.4
[    0.243858] AMD-Vi:   DEV_RANGE_END           devid: ff:1f.7
[    0.243863] AMD-Vi:   DEV_SPECIAL(HPET[0])           devid: 00:14.0
[    0.243904] AMD-Vi: [Firmware Bug]: : IOAPIC[4] not in IVRS table
[    0.243910] AMD-Vi: [Firmware Bug]: : IOAPIC[5] not in IVRS table
[    0.243912] AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
[    0.243913] AMD-Vi: Disabling interrupt remapping

以下是我们感兴趣的设备:

$ lspci -nn | egrep "SMBus | IOMMU"

00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) I/O Memory Management Unit [1022:1577]
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 4a)

现在,在启动系统时ivrs_ioapic[4]=00:14.0 ivrs_ioapic[5]=00:02.0向内核命令行添加内容似乎有效,直到 X 尝试启动。屏幕保持黑色(只有静态光标在屏幕的上角可见),内核消息如下:

$ journalctl -p err -b -1

kernel: pci 0000:00:14.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0xfdf800ff98 flags=0x0008]
kernel: kfd kfd: TOPAZ  not supported in kfd
kernel: iommu ivhd0: AMD-Vi: Event logged [INVALID_DEVICE_REQUEST device=00:00.1 pasid=0x00000 address=0xfdf8160020 flags>
kernel: rcu: INFO: rcu_sched self-detected stall on CPU
kernel: rcu:         3-....: (20999 ticks this GP) idle=d6e/1/0x4000000000000000 softirq=5416/5416 fqs=5246 
kernel: rcu: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 3-... } 21442 jiffies s: 125 root: 0x8/.
kernel: rcu: blocking rcu_node structures:
kernel: watchdog: BUG: soft lockup - CPU#3 stuck for 22s! [pipewire-media-:993]
kernel: watchdog: BUG: soft lockup - CPU#3 stuck for 22s! [pipewire-media-:993]
kernel: rcu: INFO: rcu_sched self-detected stall on CPU
kernel: rcu:         3-....: (84002 ticks this GP) idle=d6e/1/0x4000000000000000 softirq=5416/5416 fqs=20988 
kernel: rcu: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 3-... } 87490 jiffies s: 125 root: 0x8/.
kernel: rcu: blocking rcu_node structures:

我也尝试使用 VGA_SWITCHEROO=N 重新编译内核,如这个内核错误报告,但没有变化。

我还注意到有问题的参数似乎是ivrs_ioapic[5]=00:02.0。事实上,如果我只使用固件启动系统,ivrs_ioapic[4]=00:14.0错误消息就会消失,桌面也会按预期启动。

相关内容