Re: git: f44ff2aba2d6 - main - bhyve: Treat the COMMAND register for PCI passthru devices as emulated

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 19 Aug 2024 13:22:01 UTC
On 8/13/24 21:17, Navdeep Parhar wrote:
> On 7/31/24 7:50 AM, John Baldwin wrote:
>> The branch main has been updated by jhb:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?id=f44ff2aba2d64d1d9312cb55008dc90275ccdc04
>>
>> commit f44ff2aba2d64d1d9312cb55008dc90275ccdc04
>> Author:     John Baldwin <jhb@FreeBSD.org>
>> AuthorDate: 2024-07-31 14:50:33 +0000
>> Commit:     John Baldwin <jhb@FreeBSD.org>
>> CommitDate: 2024-07-31 14:50:33 +0000
>>
>>       bhyve: Treat the COMMAND register for PCI passthru devices as emulated
>>       
>>       Don't pass through writes of the command register through to the
>>       physical device.  These registers do not need to be in sync, and in
>>       some cases (e.g. when the guest is sizing the BAR and temporarily
>>       disables decoding), the states need to diverge.
> 
> This seems to break MSI-X interrupts for a device that is passed through
> to a VM.  That is, the device generates an interrupt but the driver in
> the VM never receives it.  Reverting this change fixes the problem.

Yes, https://reviews.freebsd.org/D46245 is what I have been using.  It turns
out the ppt(4) driver wasn't fully managing the command register.

-- 
John Baldwin