Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 May 2019 13:06:40 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net>
To:        Nick Principe <nap@ixsystems.com>
Cc:        freebsd-virtualization@freebsd.org
Subject:   Re: Windows 10 guests fail to boot when attempting to passthrough network card
Message-ID:  <201905182006.x4IK6euM066455@gndrsh.dnsmgr.net>
In-Reply-To: <CA%2Bi9KEzNoT3L7BxnyGE%2BS=3Cm8pVu_bBi=jM%2BigDE97Pr6F5OQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> I have noticed that Windows 10 guests fail to boot when attempting to pass
> through a network card. I believe I have observed this with both cxgbe
> (t580) and mlx5en cards, but only have a cxgbe to test with now. Without
> passthrough, the Windows 10 guest boots and operates normally.
> 
> FreeBSD guests (12.0-RELEASE) have no issue when booting with the cxgbe
> card passed through - I can kldload cxgbe and I get both cxl ports showing
> up in the FreeBSD guest.
> 
> I have tested this with both 12.0-RELEASE and head (13-CURRENT r347883) as
> the host OS with no change in behavior. The bhyve output is:
> Unhandled ps2 keyboard command 0x02
> Unhandled ps2 keyboard command 0x02
> Assertion failed: (error == 0), function modify_bar_registration, file
> /usr/src/usr.sbin/bhyve/pci_emul.c, line 504.
> fbuf frame buffer base: 0x943600000 [sz 16777216]
> 
> Two main suggestions from discussions at BSDCan this week were:
> - Capture pciconf -lvb from the FreeBSD guest
> - Add some printf to pci_emul.c to capture some values when there is an
> error
> 
> I've captured the above, and a lot of other relevant info, in a Google Doc
> here (too big to post directly):
> https://docs.google.com/document/d/1t-UVIO9Aq0TPUFHyo1nVscqaW1LoPuNhfLPitL8oeTs/edit?usp=sharing
> 
> `nap

To confirm what I see from looking at your data could you tell me if this
patch triggers a barf?

--- mem.c.orig  2019-05-18 20:04:26.707995000 +0000
+++ mem.c       2019-05-18 20:04:02.205119000 +0000
@@ -97,6 +97,7 @@
		return (0);
	}
	
+printf("mmio_rb_lookup: barf ENOENT");
	return (ENOENT);
 }

-- 
Rod Grimes                                                 rgrimes@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905182006.x4IK6euM066455>