From owner-p4-projects@FreeBSD.ORG Wed Aug 3 22:29:28 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 87F9B16A421; Wed, 3 Aug 2005 22:29:27 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 61FF816A41F for ; Wed, 3 Aug 2005 22:29:27 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2E99243D45 for ; Wed, 3 Aug 2005 22:29:27 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j73MTR0v025135 for ; Wed, 3 Aug 2005 22:29:27 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j73MTQDL025132 for perforce@freebsd.org; Wed, 3 Aug 2005 22:29:26 GMT (envelope-from peter@freebsd.org) Date: Wed, 3 Aug 2005 22:29:26 GMT Message-Id: <200508032229.j73MTQDL025132@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 81419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 22:29:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=81419 Change 81419 by peter@peter_overcee on 2005/08/03 22:29:12 Integ -b i386_hammer (extint stuff) Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/db_trace.c#30 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#40 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -130,6 +131,12 @@ static int bsp_id, current_cluster, logical_clusters, next_ioapic_base; static u_int next_id, program_logical_dest; +SYSCTL_NODE(_hw, OID_AUTO, apic, CTLFLAG_RD, 0, "APIC options"); +static int enable_extint; +SYSCTL_INT(_hw_apic, OID_AUTO, enable_extint, CTLFLAG_RDTUN, &enable_extint, 0, + "Enable the ExtINT pin in the first I/O APIC"); +TUNABLE_INT("hw.apic.enable_extint", &enable_extint); + static __inline void _ioapic_eoi_source(struct intsrc *isrc) { @@ -287,7 +294,7 @@ switch (intpin->io_vector) { case VECTOR_EXTINT: KASSERT(intpin->io_edgetrigger, - ("EXTINT not edge triggered")); + ("ExtINT not edge triggered")); low |= IOART_DELEXINT; break; case VECTOR_NMI: @@ -681,7 +688,10 @@ return (EINVAL); io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; io->io_pins[pin].io_vector = VECTOR_EXTINT; - io->io_pins[pin].io_masked = 1; + if (enable_extint) + io->io_pins[pin].io_masked = 0; + else + io->io_pins[pin].io_masked = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose)