Re: [PATCH v5 15/21] KVM: s390: pci: add routines to start/stop interpretive execution

Matthew Rosato
2022-04-12T13:22:37Z

On 4/8/22 8:47 AM, Jason Gunthorpe wrote:
> On Mon, Apr 04, 2022 at 01:43:43PM -0400, Matthew Rosato wrote:
>> +int kvm_s390_pci_register_kvm(struct device *dev, void *data)
>> +{
>> + struct zpci_dev *zdev = NULL;
>> + struct kvm *kvm = data;
>> +
>> + /* Only proceed for zPCI devices, quietly ignore others */
>> + if (dev_is_pci(dev))
>> + zdev = to_zpci_dev(dev);
>> + if (!zdev)
>> + return 0;
>
> Especially since this only works if we have zpci device
>
> So having the zpci code hook the kvm notifier and then call the arch
> code from the zpci area seems pretty OK
>
> Also why is a struct kvm * being passed as a void *?

Only because the function is intended to be called via
iommu_group_for_each_dev (next patch) which requires int (*fn)(struct
device *, void *)