xen: fix PV IPI setup

So that it's done when the vcpu_id has been set. For the BSP the
vcpu_id is set at SUB_INTR, while for the APs it's done in
init_secondary_tail that's called at SUB_SMP order FIRST.

Reported and tested by:	cperciva
Approved by:		re (gjb)
Sponsored by:		Citrix Systems R&D
Differential revision:	https://reviews.freebsd.org/D17013
This commit is contained in:
Roger Pau Monné 2018-09-13 07:07:13 +00:00
parent a515acf7bb
commit fae9a0cb9b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=338625

View File

@ -592,6 +592,6 @@ xen_setup_cpus(void)
apic_ops.ipi_vectored = xen_pv_lapic_ipi_vectored;
}
/* We need to setup IPIs before APs are started */
SYSINIT(xen_setup_cpus, SI_SUB_SMP-1, SI_ORDER_FIRST, xen_setup_cpus, NULL);
/* Switch to using PV IPIs as soon as the vcpu_id is set. */
SYSINIT(xen_setup_cpus, SI_SUB_SMP, SI_ORDER_SECOND, xen_setup_cpus, NULL);
#endif /* SMP */