From owner-cvs-src@FreeBSD.ORG Mon May 10 11:49:59 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6BDD616A4CF; Mon, 10 May 2004 11:49:59 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05C8643D41; Mon, 10 May 2004 11:49:59 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4AInwGe065503; Mon, 10 May 2004 11:49:58 -0700 (PDT) (envelope-from jhb@repoman.freebsd.org) Received: (from jhb@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4AInw8r065502; Mon, 10 May 2004 11:49:58 -0700 (PDT) (envelope-from jhb) Message-Id: <200405101849.i4AInw8r065502@repoman.freebsd.org> From: John Baldwin Date: Mon, 10 May 2004 11:49:58 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/i386/acpica madt.c src/sys/i386/i386 io_apic.c machdep.c mptable.c src/sys/i386/include apicvar.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 May 2004 18:49:59 -0000 jhb 2004/05/10 11:49:58 PDT FreeBSD src repository Modified files: sys/i386/acpica madt.c sys/i386/i386 io_apic.c machdep.c mptable.c sys/i386/include apicvar.h Log: Rework the APIC mixed mode support a bit: - Require the APIC enumerators to explicitly enable mixed mode by calling ioapic_enable_mixed_mode(). Calling this function tells the apic driver that the PC-AT 8259A PICs are present and routable through the first I/O APIC via an ExtINT pin. The mptable enumerator always calls this function for now. The MADT enumerator only enables mixed mode if the PC-AT compatability flag is set in the MADT header. - Allow mixed mode to be enabled or disabled via a 'hw.apic.mixed_mode' tunable. By default this tunable is set to 1 (true). The kernel option NO_MIXED_MODE changes the default to 0 to preserve existing behavior, but adding 'hw.apic.mixed_mode=0' to loader.conf achieves the same effect. - Only use mixed mode to route IRQ 0 if it is both enabled by the APIC enumerator and activated by the loader tunable. Note that both conditions must be true, so if the APIC enumerator does not enable mixed mode, then you can't set the tunable to try to override the enumerator. Revision Changes Path 1.14 +2 -0 src/sys/i386/acpica/madt.c 1.9 +33 -19 src/sys/i386/i386/io_apic.c 1.588 +5 -0 src/sys/i386/i386/machdep.c 1.232 +1 -0 src/sys/i386/i386/mptable.c 1.7 +1 -0 src/sys/i386/include/apicvar.h