bhyve + AMD + PCI passthru
Robert Crowston
crowston at protonmail.com
Thu Apr 30 14:07:35 UTC 2020
First, do these Jaguar processors support device passthrough?
Is there anything interesting in dmesg? What does pciconf show? Maybe bhyve claiming the USB controller is interfering with SATA somehow. On my pcengines board the two devices are logical neighbours, and I guess your scenario has never been tested.
Can you see ada0’s FAT file system in the virtual UEFI gui? If you can, what happens if you execute the boot loader manually?
I normally point the virtual storage at a block file (or a zvol) rather than essentially pass through a real device like /dev/ada0. Can you try that?Maybe try a guest Linux installation first using a block file on your boot disk. The diagnostics will be better than a Windows guest.
Finally which version of SeaBIOS are you using?
(Also, too late if you already installed Windows, but why not use the paravirtualized virtual disk device instead of nvme?)
On Thu, Apr 30, 2020 at 03:12, Dustin Marquess <dmarquess at gmail.com> wrote:
> I have this weird issue. I have a PC Engines box with a AMD SoC in it.
>
> I'm trying to pass through the USB 3.0 controller to a Windows VM. I added:
>
> hw.vmm.amdvi.enable="1"
> pptdevs="0/16/0"
>
> to /boot/loader.conf, rebooted, installed Windows, etc. Everything
> works great until I add:
>
> -s 5,passthru,0/16/0
>
> to my bhyve command line. As soon as I add that (and don't change
> anything else), TitanoCore suddenly can't boot from the virtual HD
> anymore:
>
> Boot Failed. EFI Hard Drive
> .PXE-E18: Server response timeout.
> Boot Failed. EFI Network
> UEFI Interactive Shell v2.1
> EDK II
> UEFI v2.40 (BHYVE, 0x00010000)
> Mapping table
> BLK0: Alias(s):
> PciRoot(0x0)/Pci(0x3,0x0)/Sata(0x0,0x0,0x0)
> Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
> Shell>
>
> I take the passthru back out and Windows works fine.
>
> Does this make sense?
>
> My full command line is:
>
> bhyve -A -H -P -w -S -u -c sockets=1,cores=3,threads=1 -m 3G \
> -s 0,amd_hostbridge \
> -s 3,nvme,/dev/ada0 \
> -s 5,passthru,0/16/0 \
> -s 10,virtio-net,tap0,mac=4a:ab:0f:25:4c:b7 \
> -s 20,virtio-rnd \
> -s 31,lpc \
> -l com1,/dev/nmdm0A -l
> bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd win2019
>
> Changing nvme to ahci-hd doesn't help. Only difference between the
> two is that "Boot Failed. EFI Hard Drive" turns into "Boot Failed. EFI
> Misc Device".
>
> This is really strange!
>
> Thanks,
> -Dustin
> _______________________________________________
> freebsd-virtualization at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
> To unsubscribe, send any mail to "freebsd-virtualization-unsubscribe at freebsd.org"
More information about the freebsd-virtualization
mailing list