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-committ...@freebsd.org <owner-src-committ...@freebsd.org> On 
Behalf Of John Baldwin
Sent: Monday, November 22, 2021 5:39 PM
To: Emmanuel Vadot <m...@freebsd.org>; src-committ...@freebsd.org; 
dev-commits-src-...@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 <corv...@beckhoff.com>
AuthorDate: 2021-11-22 15:26:03 +0000
Commit:     Emmanuel Vadot <m...@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

Reply via email to