From owner-freebsd-current@FreeBSD.ORG Fri Jul 29 17:45:57 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 81A6416A41F for ; Fri, 29 Jul 2005 17:45:57 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id 16CEB43D45 for ; Fri, 29 Jul 2005 17:45:57 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from [10.50.40.201] (Not Verified[65.202.103.25]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Fri, 29 Jul 2005 14:00:12 -0400 From: John Baldwin To: Joao Barros Date: Fri, 29 Jul 2005 13:18:20 -0400 User-Agent: KMail/1.8 References: <70e8236f05070208212e36c375@mail.gmail.com> <200507211257.21730.jhb@FreeBSD.org> <70e8236f050724161620b3aabc@mail.gmail.com> In-Reply-To: <70e8236f050724161620b3aabc@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200507291318.24428.jhb@FreeBSD.org> Cc: freebsd-current@freebsd.org, Mike Tancsa Subject: Re: 6.0-CURRENT SNAP004 hangs on amr (patch) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jul 2005 17:45:57 -0000 On Sunday 24 July 2005 07:16 pm, Joao Barros wrote: > On 7/21/05, John Baldwin wrote: > > On Thursday 21 July 2005 11:42 am, Mike Tancsa wrote: > > > At 02:09 PM 13/07/2005, John Baldwin wrote: > > > >On Wednesday 13 July 2005 09:38 am, Mike Tancsa wrote: > > > > > At 04:28 PM 12/07/2005, John Baldwin wrote: > > > > > >That does sort of help. Can you try commenting out the call to > > > > > >ioapic_setup_mixed_mode() in the sys/i386/i386/mptable.c file and > > > > > > try booting with ACPI disabled (but APIC on) and see if it still > > > > > > works ok? > > > > > > > > > > Yup, > > > > > Still boots just fine. > > > > > > > >Ok. Back on 6, can you try editing sys/i386/i386/io_apic.c and in the > > > >function ioapic_set_extint(), change the line that reads: > > > > > > > > io->io_pins[pin].io_masked = 1; > > > > > > > >to set the masked variable to 0 instead? > > > > > > Yes, it works with and without ACPI!! > > > > Ok. That change directly violates the ACPI standard. :( I need to think > > about this. At the very least I can add a tunable for this. > > John, > > Would it be possible to have this in BETA2? Can you try this patch? You'll need to set hw.apic.enable_extint=1 in the loader via loader.conf or a manual set command: --- //depot/vendor/freebsd/src/sys/i386/i386/io_apic.c 2005/04/14 18:01:23 +++ //depot/user/jhb/acpipci/i386/i386/io_apic.c 2005/07/28 22:12:23 @@ -129,6 +130,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) { @@ -680,7 +684,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) -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org