From owner-svn-src-all@FreeBSD.ORG Mon Aug 4 08:54:34 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EF069794 for ; Mon, 4 Aug 2014 08:54:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C4B6B27ED for ; Mon, 4 Aug 2014 08:54:34 +0000 (UTC) Received: from royger (uid 1332) (envelope-from royger@FreeBSD.org) id 5c56 by svn.freebsd.org (DragonFly Mail Agent v0.9+); Mon, 04 Aug 2014 08:54:34 +0000 From: Roger Pau Monné Date: Mon, 4 Aug 2014 08:54:34 +0000 (UTC) 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 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <53df4a4a.5c56.2a5a30c5@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Aug 2014 08:54:35 -0000 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 ---------------------------*/ /**