On 2018-01-18 00:00, Gustavo Lima Chaves wrote: > pci_cfg_write_moderate() was changed to allow writes to the PCIe > capability, while Jailhouse will in fact only do reads and fake that > writes happen. This is getting in so that Linux thinks it did OK at > pci_disable_pcie_error_reporting() (disabling AER reporting for > functions will be taken care of at hypervisor level on following > patches). That is a common function call from .remove() struct > pci_driver entries on drivers. The register that is accessed there is > Device Control (offset 08h) or its bits enabling/disabling AER reporting > on a device. > > This is a preparation for a scheme where Jailhouse will suppress all AER > reporting on device handover. > > Signed-off-by: Gustavo Lima Chaves <gustavo.lima.cha...@intel.com> > --- > hypervisor/include/jailhouse/pci.h | 1 + > hypervisor/pci.c | 8 ++++++++ > 2 files changed, 9 insertions(+) > > diff --git a/hypervisor/include/jailhouse/pci.h > b/hypervisor/include/jailhouse/pci.h > index c0c10e96..720ecacd 100644 > --- a/hypervisor/include/jailhouse/pci.h > +++ b/hypervisor/include/jailhouse/pci.h > @@ -37,6 +37,7 @@ > > #define PCI_CAP_MSI 0x05 > #define PCI_CAP_MSIX 0x11 > +#define PCI_CAP_EXPRESS 0x10 > > #define PCI_IVSHMEM_NUM_MMIO_REGIONS 2 > > diff --git a/hypervisor/pci.c b/hypervisor/pci.c > index 2f95dd74..60d877fc 100644 > --- a/hypervisor/pci.c > +++ b/hypervisor/pci.c > @@ -350,6 +350,14 @@ enum pci_access pci_cfg_write_moderate(struct pci_device > *device, u16 address, > > if (pci_update_msix(device, cap) < 0) > return PCI_ACCESS_REJECT; > + /* > + * Let guests think they did OK when writing to this > + * capability. The register of interest in writes there is > + * Device Control, but it affects things that Jailhouse will > + * take care of at hypervisor level. > + */
Let's move the comment into the block below. > + } else if (cap->id == PCI_CAP_EXPRESS) { > + return PCI_ACCESS_DONE; > } > > return PCI_ACCESS_PERFORM; > Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to jailhouse-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.