Sorry for the delay; I didn't have as much time to test this at work as I usually do. I am also glad for the sanity check around the GRUB lines being enough to prevent the memory from being occupied. I also again appreciate the help in diagnosing this, I hope this is as good of a brain teaser for you as it has been for me.
Here's how it worked out, apologies in advance as I'm sure the formatting will be a little ugly. I should note that this is with the
video=vesafb:off video=efifb:off video=simplefb:off
in my GRUB_CMDLINE_LINUX_DEFAULT
Code:
root@prox:~# echo 0 | tee /sys/class/vtconsole/vtcon*/bind
0
root@prox:~# echo 'vesa-framebuffer.0' >/sys/bus/platform/drivers/vesa-framebuffer/unbind
-bash: echo: write error: No such device
root@prox:~# echo 'efi-framebuffer.0' >/sys/bus/platform/drivers/efi-framebuffer/unbind
-bash: echo: write error: No such device
root@prox:~# echo 'simple-framebuffer.0' >/sys/bus/platform/drivers/simple-framebuffer/unbind
-bash: echo: write error: No such device
root@prox:~# tail /var/log/kern.log
Apr 29 16:48:42 prox kernel: [ 111.165790] fwbr102i1: port 1(fwln102i1) entered blocking state
Apr 29 16:48:42 prox kernel: [ 111.165792] fwbr102i1: port 1(fwln102i1) entered forwarding state
Apr 29 16:48:42 prox kernel: [ 111.168995] fwbr102i1: port 2(tap102i1) entered blocking state
Apr 29 16:48:42 prox kernel: [ 111.168999] fwbr102i1: port 2(tap102i1) entered disabled state
Apr 29 16:48:42 prox kernel: [ 111.169112] fwbr102i1: port 2(tap102i1) entered blocking state
Apr 29 16:48:42 prox kernel: [ 111.169115] fwbr102i1: port 2(tap102i1) entered forwarding state
Apr 29 16:48:47 prox kernel: [ 116.382808] vfio-pci 0000:03:00.0: vfio_ecap_init: hiding ecap 0x1e@0x258
Apr 29 16:48:47 prox kernel: [ 116.382828] vfio-pci 0000:03:00.0: vfio_ecap_init: hiding ecap 0x19@0x900
Apr 29 16:48:47 prox kernel: [ 116.384094] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:47 prox kernel: [ 116.402672] vfio-pci 0000:03:00.1: enabling device (0100 -> 0102)
root@prox:~# tail /var/log/kern.log
Apr 29 16:48:55 prox kernel: [ 124.015138] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015151] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015164] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015176] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015195] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015207] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015220] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015233] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015245] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 16:48:55 prox kernel: [ 124.015258] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
This is with just the IOMMU options in the GRUB
Code:
root@prox:~# echo 0 | tee /sys/class/vtconsole/vtcon*/bind
0
root@prox:~# echo 'vesa-framebuffer.0' >/sys/bus/platform/drivers/vesa-framebuffer/unbind
-bash: echo: write error: No such device
root@prox:~# echo 'efi-framebuffer.0' >/sys/bus/platform/drivers/efi-framebuffer/unbind
-bash: echo: write error: No such device
root@prox:~# echo 'simple-framebuffer.0' >/sys/bus/platform/drivers/simple-framebuffer/unbind
root@prox:~# tail /var/log/kern.log
Apr 29 17:01:20 prox kernel: [ 93.977412] fwbr102i1: port 1(fwln102i1) entered blocking state
Apr 29 17:01:20 prox kernel: [ 93.977414] fwbr102i1: port 1(fwln102i1) entered forwarding state
Apr 29 17:01:20 prox kernel: [ 93.980796] fwbr102i1: port 2(tap102i1) entered blocking state
Apr 29 17:01:20 prox kernel: [ 93.980799] fwbr102i1: port 2(tap102i1) entered disabled state
Apr 29 17:01:20 prox kernel: [ 93.980912] fwbr102i1: port 2(tap102i1) entered blocking state
Apr 29 17:01:20 prox kernel: [ 93.980914] fwbr102i1: port 2(tap102i1) entered forwarding state
Apr 29 17:01:26 prox kernel: [ 99.286902] vfio-pci 0000:03:00.0: vfio_ecap_init: hiding ecap 0x1e@0x258
Apr 29 17:01:26 prox kernel: [ 99.286929] vfio-pci 0000:03:00.0: vfio_ecap_init: hiding ecap 0x19@0x900
Apr 29 17:01:26 prox kernel: [ 99.288228] vfio-pci 0000:03:00.0: BAR 1: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:26 prox kernel: [ 99.306735] vfio-pci 0000:03:00.1: enabling device (0100 -> 0102)
root@prox:~# tail /var/log/kern.log
Apr 29 17:01:31 prox kernel: [ 105.009989] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010003] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010016] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010028] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010044] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010060] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010075] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010093] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010105] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
Apr 29 17:01:31 prox kernel: [ 105.010120] vfio-pci 0000:03:00.0: BAR 0: can't reserve [mem 0x33fe0000000-0x33fefffffff 64bit pref]
root@prox:~#
Obviously there is a difference in the simplefb either existing or not existing, but I am not smart enough (yet) to really understand what this means.
Again, 5.13 has been rock solid for me. Once I got the passthrough working it has been perfect, except for when I installed my LSI card which changed the PCIe address. I also realized I can remove the
pcie_acs_override=downstream,multifunction
line from my GRUB and have it working on the 5.13 kernel; so while I haven't accomplished my main goal I still feel productive.
EDIT - I noticed that if I unplug my HDMI dummy plug and boot the device I get no BAR errors, but no output on my virtual screen. I can plug the HDMI dummy plug back in, and get a virtual screen output and no BAR errors. But if I reboot my ProxBox with the dummy plug in, I get the BAR errors.
Now I am doing research on how to get a virtual screen output without the dummy plug.