[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.