https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205445
Bug ID: 205445 Summary: [bhyve] PCI passthru pci_intr_map: bad interrupt line 20, OpenBSD guest couldn't map interrupt Product: Base System Version: 10.2-STABLE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: m8r-592...@mailinator.com Attempting to use PCI passthrough with bhyve, but it appears to be passing interrupts or the PCI bus configuration incorrectly. My OpenBSD 5.8 guest is reporting this error on boot: fxp0 at pci0 dev 2 function 0 "Intel 8255x" rev 0x08pci_intr_map: bad interrupt line 20 : couldn't map interrupt And the network card is unusable. When I boot OpenBSD 5.8 on the same hardware bare metal (without bhyve), it correctly detects and configures the PCI device: fxp0 at pci4 dev 0 function 0 "Intel 8255x" rev 0x08, i82559: apic 2 int 20, address 00:20:e0:90:e5 inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4 Configuration: following the instructions at https://wiki.freebsd.org/bhyve/pci_passthru and https://forums.freebsd.org/threads/howto-bhyve-using-openbsd-as-main-firewall-in-freebsd.50470/ /boot/loader.conf pptdevs="4/0/0" # passthrough Intel EtherExpress 'fxp0' as ppt0 sudo bhyve -A -H -P -s 0:0:0,hostbridge \ -s 0:1:0,lpc \ -s 0:2:0,passthru,4/0/0 \ -s 0:3:0,virtio-blk,./vm.img \ -l com1,stdio \ -c 1 -m 256M \ -S \ -W \ -x \ -Y \ openbsd I've tried various flags to bhyve (with and without -W to force MSI instead of MSI-X, with and without -x to configure the guest's local APIC in x2APIC mode, hostbridge and amdbridge, other virtual PCI slots besides 0:2:0 including placing the NIC on a different PCI bus and the same as the physical slot, etc.), no difference. FreeBSD host: CPU: Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz (3300.09-MHz K8-class CPU) Origin="GenuineIntel" Id=0x306a9 Family=0x6 Model=0x3a Stepping=9 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x7fbae3ff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND> AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM> AMD Features2=0x1<LAHF> Structured Extended Features=0x281<FSGSBASE,SMEP,ERMS> XSAVE Features=0x1<XSAVEOPT> VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID TSC: P-state invariant, performance statistics With pptdevs="4/0/0": ppt0 port 0xc000-0xc03f mem 0xdfa04000-0xdfa04fff,0xdf900000-0xdf9fffff irq 20 at device 0.0 on pci4 Without pptdevs="4/0/0" (for comparison - the card is functional): fxp0: <Intel 82559 Pro/100 Ethernet> port 0xc100-0xc13f mem 0xdfa25000-0xdfa25fff,0xdf900000-0xdf9fffff irq 20 at device 0.0 on pci4 miibus0: <MII bus> on fxp0 fxp0: Ethernet address: 00:20:e0:90:e5:ea Tested on FreeBSD 10.2-STABLE and 11-CURRENT r292163 (same error in both cases) What I find unusual is that the same interrupt line (20) is used in both cases, but under bhyve OpenBSD fails to map the interrupt, and on bare metal OpenBSD can map it without error. Is this a case of bhyve not supporting certain APIC functionality? (dmesg on the virtualized guest is missing ", i82559: apic 2") -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"