On 03.11.21 12:34, Jan Beulich wrote:
> On 03.11.2021 11:24, Oleksandr Andrushchenko wrote:
>> On 03.11.21 11:49, Jan Beulich wrote:
>>> Aiui you want to prevent the guest from clearing the bit if either
>>> MSI or MSI-X are in use. Symmetrically, when the guest enables MSI
>>> or MSI-X, you will want to force the bit set (which may well be in
>>> a separate, future patch).
>> static uint32_t emulate_cmd_reg(const struct pci_dev *pdev, uint32_t cmd)
>> {
>>       /* TODO: Add proper emulation for all bits of the command register. */
>>
>>       if ( (cmd & PCI_COMMAND_INTX_DISABLE) == 0 )
>>       {
>>           /* Guest wants to enable INTx. It can't be enabled if MSI/MSI-X 
>> enabled. */
>> #ifdef CONFIG_HAS_PCI_MSI
>>           if ( pdev->vpci->msi->enabled )
>>               cmd |= PCI_COMMAND_INTX_DISABLE;
>> #endif
>>       }
>>
>>       return cmd;
>> }
>>
>> Is this what you mean?
> Something along these lines, yes. I'd omit the outer if() for clarity /
> brevity.
Sure, thank you!
@Roger are you ok with this approach?
>
> Jan
>
>

Reply via email to