svn commit: r269510 - in head/sys/x86: x86 xen
Roger Pau Monné
royger at FreeBSD.org
Mon Aug 4 08:54:35 UTC 2014
Author: royger
Date: Mon Aug 4 08:54:34 2014
New Revision: 269510
URL: http://svnweb.freebsd.org/changeset/base/269510
Log:
xen: change order of Xen intr init and IO APIC registration
This change inserts the Xen interrupt subsystem (event channels)
initialization between the system interrupt initialization and the IO
APIC source registration.
This is needed when running on Dom0, that routes physical interrupts
on top of event channels, so that the interrupt sources found during
IO APIC initialization can be registered using the Xen interrupt
subsystem.
The resulting order in the SI_SUB_INTR stage is the following:
- System intr initialization
- Xen intr initalization
- IO APIC source registration
Sponsored by: Citrix Systems R&D
x86/x86/local_apic.c:
- Change order of apic_setup_io to be called after xen interrupt
subsystem is setup.
x86/xen/xen_intr.c:
- Init Xen event channels before apic_setup_io.
Modified:
head/sys/x86/x86/local_apic.c
head/sys/x86/xen/xen_intr.c
Modified: head/sys/x86/x86/local_apic.c
==============================================================================
--- head/sys/x86/x86/local_apic.c Mon Aug 4 08:52:10 2014 (r269509)
+++ head/sys/x86/x86/local_apic.c Mon Aug 4 08:54:34 2014 (r269510)
@@ -1449,7 +1449,7 @@ apic_setup_io(void *dummy __unused)
/* Enable the MSI "pic". */
msi_init();
}
-SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_SECOND, apic_setup_io, NULL);
+SYSINIT(apic_setup_io, SI_SUB_INTR, SI_ORDER_THIRD, apic_setup_io, NULL);
#ifdef SMP
/*
Modified: head/sys/x86/xen/xen_intr.c
==============================================================================
--- head/sys/x86/xen/xen_intr.c Mon Aug 4 08:52:10 2014 (r269509)
+++ head/sys/x86/xen/xen_intr.c Mon Aug 4 08:54:34 2014 (r269510)
@@ -634,7 +634,7 @@ xen_intr_init(void *dummy __unused)
return (0);
}
-SYSINIT(xen_intr_init, SI_SUB_INTR, SI_ORDER_MIDDLE, xen_intr_init, NULL);
+SYSINIT(xen_intr_init, SI_SUB_INTR, SI_ORDER_SECOND, xen_intr_init, NULL);
/*--------------------------- Common PIC Functions ---------------------------*/
/**
More information about the svn-src-all
mailing list