Re: [patch RFC 24/38] x86/xen: Consolidate XEN-MSI init

From: Thomas Gleixner
Date: Mon Aug 24 2020 - 17:21:33 EST


On Mon, Aug 24 2020 at 06:59, Jürgen Groß wrote:
> On 21.08.20 02:24, Thomas Gleixner wrote:
>> +static __init void xen_setup_pci_msi(void)
>> +{
>> + if (xen_initial_domain()) {
>> + x86_msi.setup_msi_irqs = xen_initdom_setup_msi_irqs;
>> + x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
>> + x86_msi.restore_msi_irqs = xen_initdom_restore_msi_irqs;
>> + pci_msi_ignore_mask = 1;
>
> This is wrong, as a PVH initial domain shouldn't do the pv settings.
>
> The "if (xen_initial_domain())" should be inside the pv case, like:
>
> if (xen_pv_domain()) {
> if (xen_initial_domain()) {
> ...
> } else {
> ...
> }
> } else if (xen_hvm_domain()) {
> ...

I still think it does the right thing depending on the place it is
called from, but even if so, it's completely unreadable gunk. I'll fix
that proper.

Thanks,

tglx