Re: [PATCH] KVM: x86: Use MMCONFIG for all PCI config space accesses

From: Andy Shevchenko
Date: Fri Jul 31 2020 - 05:41:26 EST


On Fri, Jul 31, 2020 at 12:22 PM Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote:
> Andy Shevchenko <andy.shevchenko@xxxxxxxxx> writes:
> > On Thu, Jul 30, 2020 at 10:37 PM Julia Suvorova <jusual@xxxxxxxxxx> wrote:

...

> >> +static int __init kvm_pci_arch_init(void)
> >> +{
> >> + if (raw_pci_ext_ops &&

> >> + return 0;
> >> + }
> >
> >> + return 1;
> >
> > Hmm... I don't remember what positive codes means there. Perhaps you
> > need to return a rather error code?
>
> If I'm reading the code correctly,
>
> pci_arch_init() has the following:
>
> if (x86_init.pci.arch_init && !x86_init.pci.arch_init())
> return 0;
>
>
> so returning '1' here means 'continue' and this seems to be
> correct. (E.g. Hyper-V's hv_pci_init() does the same). What I'm not sure
> about is 'return 0' above as this will result in skipping the rest of
> pci_arch_init(). Was this desired or should we return '1' in both cases?

I think it depends what you want. In complex cases we recognize three
possibilities

-ERRNO: function failed, we have to stop and bailout with error from callee
0: function OK, stop and return 0
1: function OK, continue the rest in callee

Do we have needs in this or is the current enough for all (exist) callees?

--
With Best Regards,
Andy Shevchenko