Date: Mon, 4 Aug 2014 08:54:34 +0000 (UTC) From: Roger Pau Monné <royger@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r269510 - in head/sys/x86: x86 xen Message-ID: <53df4a4a.5c56.2a5a30c5@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 ---------------------------*/ /**
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53df4a4a.5c56.2a5a30c5>