Messages in this thread | | | Subject | Re: [patch RFC 24/38] x86/xen: Consolidate XEN-MSI init | From | Jürgen Groß <> | Date | Tue, 25 Aug 2020 06:21:02 +0200 |
| |
On 24.08.20 23:21, Thomas Gleixner wrote: > 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.
The main issue is that xen_initial_domain() and xen_pv_domain() are orthogonal to each other. So xen_initial_domain() can either be true for xen_pv_domain() (the "classic" pv dom0) or for xen_hvm_domain() (the new PVH dom0).
Juergen
| |