On 12/1/23 20:27, Volodymyr Babchuk wrote:
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 21b3fb5579..bc2ebe125b 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -167,6 +167,9 @@ static void modify_decoding(const struct pci_dev *pdev,
> uint16_t cmd,
> if ( !rom_only )
> {
> pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> + /* Show DomU that we updated P2M */
> + header->guest_cmd &= ~PCI_COMMAND_MEMORY;
> + header->guest_cmd = (val & PCI_COMMAND_MEMORY);
Was this assignment meant to be a bitwise operation (e.g. |= ) ?
Also, "val" doesn't appear to be declared in this scope? Maybe you meant "cmd"?