On Fri, 29 Jul 2022 21:43:44 +0300
Cosmin Chenaru <cosmin.chen...@gmail.com> wrote:

> Hi,
> 
> I have an Intel network card inside a VM using PCI-Passthrough and I would
> like to write one register (the Physical Hardware Clock) but from inside
> the host, as writing it from inside the VM is complicated with all the
> unstable vTSC or other time sensitive tools which don't work best from
> inside a VM.
> 
> I know that I cannot write it from the host's network driver, as the driver
> will unbind the card when starting the VM, so let's say I write the
> register from another place (either hacking the network driver or from the
> VFIO driver). Do you think this would be possible?
> 
> Also, should I worry about locking the access so that the host and VM don't
> write to the PCI config space at the same time? I watched Alex's VFIO
> presentations and I understand that through Memory Mapped IO the VM can
> directly write the PCI config space, so the host will not be able to
> intercept and, in my case, to do the locking.
> 
> And my apologies if these questions were asked before. I did do a quick
> search but could not find anything relevant.

If you want special handling of the device in the host then you could
write a vfio-pci variant driver, see for instance the mlx5 one recently
added, and do the register write at an opportune time.  I'm a bit
dubious why this can't be written in the guest though.

If you want the simplest means to poke the register from the host, see
setpci(8).  I don't think you need any special locking, all config space
accesses come in through read/write operations to the config space
region and go through the same accessor functions that setpci would
use.  Thanks,

Alex

_______________________________________________
vfio-users mailing list
vfio-users@redhat.com
https://listman.redhat.com/mailman/listinfo/vfio-users

Reply via email to