Re: git: 2eb2079554f4 - main - bhyve: keep physical and virtual COMMAND reg in sync
Date: Tue, 23 Nov 2021 16:23:16 UTC
On 11/23/21 1:33 AM, Corvin Köhne wrote: > Hi John, > > sry, I didn't see your patch. Seems like your patch is very similar to > mine. However, your patch goes a bit further. It initializes the > virtual cmd register with it's physical value and always enables > bus mastering. Are you still interested in working on your patch? > Otherwise, I'm going to proceed your work. Would you be able to test if that change works in your environment? I was never able to confirm that it fixed the bug I was trying to address, but I do think it is more correct. The busmastering thing is to work around Linux clearing that flag on shutdown of a guest, and I wanted to preserve other bits in the command register that weren't related to BARs, etc. > Best regards > Corvin > > Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Beckhoff > Registered office: Verl, Germany | Register court: Guetersloh HRA 7075 > > > -----Original Message----- > From: owner-src-committers@freebsd.org <owner-src-committers@freebsd.org> On Behalf Of John Baldwin > Sent: Monday, November 22, 2021 5:39 PM > To: Emmanuel Vadot <manu@FreeBSD.org>; src-committers@FreeBSD.org; dev-commits-src-all@FreeBSD.org; dev-commits-src-main@FreeBSD.org > Subject: Re: git: 2eb2079554f4 - main - bhyve: keep physical and virtual COMMAND reg in sync > > CAUTION: External Email!! > On 11/22/21 7:30 AM, Emmanuel Vadot wrote: >> The branch main has been updated by manu: >> >> URL: https://nospamproxywebp.beckhoff.com/enqsig/link?id=BCAAAABGd7m3lfMOLOIhx3uNR_1Qav4Ffx8-jQB0torD82ts_KYAAAB6IpisxfWh8bMkMeclEjKU0Ch6nC1L2luIJvUt5lrcBed-KA1fjaCNX4hB0giwbfTH9lmXLBNaYvWEJzBG4zMolRebrrQofyigX9J_GDpKhg70oqrVfjGqvjwx_ZUj9P2msAudMe2Cu6_E-1duWq9fZ0eBY0l1NvoUIIA73nJ1hrbfy1HQ0oahtUKxPE-jI2MlQiFome_pmEEyaQ3J3SkSwgFrM8YO0 >> >> commit 2eb2079554f4d54c4283410b4ee1aca549b29616 >> Author: Corvin Köhne <CorvinK@beckhoff.com> >> AuthorDate: 2021-11-22 15:26:03 +0000 >> Commit: Emmanuel Vadot <manu@FreeBSD.org> >> CommitDate: 2021-11-22 15:26:03 +0000 >> >> bhyve: keep physical and virtual COMMAND reg in sync >> >> On startup all virtual BARs are registered. >> Additionally, the encoding bit in the virtual cmd register is set. >> After that, the passthru emulation overwrites the virtual cmd register with >> the physical one. >> This could lead to a mismatch between registered BARs and the encoding >> bits in the cmd register. >> Instead of writing the physical to the virtual cmd register, >> write the virtual to the physical cmd register to solve this issue. >> >> Reviewed by: markj >> Differential Revision: https://nospamproxywebp.beckhoff.com/enqsig/link?id=BCAAAABGd7m3lfMOLOIhx3uNR_1Qav4Ffx8-jQB0torD82ts_HgAAABQYw97NGT4SSj0arxOT2yuQ75rteUz51oREvqlD-GZQnqCZI_9pzRsWsM_TIwpmksuUKgVIfsP9_sN_SFiCJKgMBnSZAbbozPmCVLjgVbdggdf0J1VCBMbgFlXVJZq0LGJOUYhyN9NsWQY5F9sqBgUDVfJaTe3qOo1 >> Sponsored by: Beckhoff Automation GmbH & Co. KG > > Humm, I wonder if my older patch that tries to handle the command register > more deterministically might have handled this. The patch tried to fix an > open bug where you can't use a XHCI controller via passthru after you have > rebooted a Linux guest. It makes this write here conditional: > > https://nospamproxywebp.beckhoff.com/enqsig/link?id=BCAAAABGd7m3lfMOLOIhx3uNR_1Qav4Ffx8-jQB0torD82ts_HgAAAAU8FxyU1LiUJoRKnyrNSRv-j2bTBQqOJi-XQmELgyevvpEPUyKQXd3ARd_uz1vH5Vvuv314xMOFWvGRH_kkVCSmv8reOEC1AS1MBzskFbKQ_hHSbMiI88hnj9-jJrJaZT3B6FG9MHp-bRv8QyGOSI19iLeQnlutkY1 > > -- > John Baldwin > -- John Baldwin