From owner-freebsd-amd64@FreeBSD.ORG Mon Jan 31 22:54:42 2005 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 15C5416A4D2 for ; Mon, 31 Jan 2005 22:54:42 +0000 (GMT) Received: from mail25.sea5.speakeasy.net (mail25.sea5.speakeasy.net [69.17.117.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB8B643D31 for ; Mon, 31 Jan 2005 22:54:41 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 2743 invoked from network); 31 Jan 2005 22:54:41 -0000 Received: from server.baldwin.cx ([216.27.160.63]) (envelope-sender )AES256-SHA encrypted SMTP for ; 31 Jan 2005 22:54:41 -0000 Received: from [10.50.40.202] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id j0VMsX3u033005; Mon, 31 Jan 2005 17:54:33 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: freebsd-amd64@FreeBSD.org Date: Mon, 31 Jan 2005 17:32:04 -0500 User-Agent: KMail/1.6.2 References: <200501192214.27401.jkim@niksun.com> In-Reply-To: <200501192214.27401.jkim@niksun.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200501311732.04609.jhb@FreeBSD.org> X-Spam-Status: No, score=-102.8 required=4.2 tests=ALL_TRUSTED, USER_IN_WHITELIST autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx Subject: Re: Compaq R3000z ACPI fix X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jan 2005 22:54:42 -0000 On Wednesday 19 January 2005 10:14 pm, Jung-uk Kim wrote: > Hi, > > I finally found some time and made ACPI working on Compaq R3000z. You > need to fix kernel and DSDT. The kernel hack is for FreeBSD/amd64. > Similar hack should work with FreeBSD/i386 but I haven't tested. > > To enable the hack, you need to set 'hw.acpi.skip_timer_override=1' > from loader or loader.conf. > > Yes, I stole the idea from Linux. ;-) > > http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/test/2.6.5/ >20040422223905-nforce2_timer.patch > > I only tested with the following options: > > options SMP > device atpic > > The DSDT fix is against BIOS version F.33. To override DSDT, please > read: > > http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/acpi-debug.html > > Enjoy, > > Jung-uk Kim The kernel patch can be somewhat simplified (no need for getenv_int() if you just use TUNABLE_INT() I think), but I'll work on getting it into the tree. It means that this is a truly screwed up motherboard though, as every other x86 MP system in existence has routed IRQ 0 via intpin 2 and used intpin 0 as ExtINT. Actually, this also forces us to use the ATPIC for IRQ 0 via intpin 0, except that if intpin 0 is really wired up to the clock, that is wrong as well. Can you find out what the real deal is on this motherboard? Is intpin 0 ExtINT to the ATPIC or is it wired up to ISA IRQ 0 directly? Also, if it is ExtINT, then you should be able to work around this w/o a kernel patch by just forcing mixed mode. That is, set 'hw.apic.mixed_mode=1' from the loader on a stock kernel. Then we ignore the APIC for IRQ0 and use the 8259A to deliver it anyway. It seems that adding 'device atpic' should do this for you automatically as it is actually so long as you remove 'options NO_MIXED_MODE' from your kernel config. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org