From owner-freebsd-current@FreeBSD.ORG Mon Apr 14 12:14:57 2003 Return-Path: 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 7929237B401 for ; Mon, 14 Apr 2003 12:14:57 -0700 (PDT) Received: from mail.speakeasy.net (mail16.speakeasy.net [216.254.0.216]) by mx1.FreeBSD.org (Postfix) with ESMTP id CDB2243FA3 for ; Mon, 14 Apr 2003 12:14:54 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 27103 invoked from network); 14 Apr 2003 19:15:01 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 14 Apr 2003 19:15:01 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.8/8.12.8) with ESMTP id h3EJEpOv067014; Mon, 14 Apr 2003 15:14:51 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200304141639.h3EGdGF6003933@spider.deepcore.dk> Date: Mon, 14 Apr 2003 15:14:53 -0400 (EDT) From: John Baldwin To: Soeren Schmidt cc: Maxim Sobolev cc: current@FreeBSD.ORG Subject: Re: Workaround for some broken BIOSes that forgot to enableATAchannels [patch] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Mon, 14 Apr 2003 19:14:57 -0000 On 14-Apr-2003 Soeren Schmidt wrote: > It seems Maxim Sobolev wrote: >> > > This is BIOS on my new vprMatrix 175B4 notebook (P4M-1.7GHz). >> > > Along with ATA, it "forgets" to enable ports on network card >> > > (fxp driver), I've already committed patch for it. Funny thing >> > > is that the problem doesn't exists on 4.7 - both ata and fxp >> > > work here OOB. This might be somehow related to ACPI, but >> > > forcefully disabling it in 5-CURRENT doesn't help. >> > >> > I heard BIOSes, and now its just one :) >> > >> > I'll wait and see if there is more of this, before committing code that >> > might be just a one off... >> >> :((( >> >> I am really wonder why ata driver is so strict in this area. >> Many other drivers don't rely on BIOS to do the right job and >> enable ports, memory space and busmastering explicitly. And >> this is the right thing (IMO), since most modern operating >> systems including FreeBSD don't give a shit to BIOS settings >> anyway. If device is probed and user didn't disable the driver >> explicitly, it should do everything to attach to device, no >> matter in which weird state the BIOS left it. > > The current way of things are implemented because: > 1. Users wanted our driver to honor the BIOS setting an ATA channel on or off This isn't always easy, esp. when we start supporting PNP OS = yes at some point. > 2. If the BIOS doesn't enable the port, it most likely hasn't setup > interrupt routing etc as well.. When I get PCI interrupt routing working right on SMP I plan to always reroute PCI interrupts. In the case of UP and an unrouted interrupt, we already route the interrupt properly anyways. A note to Maxim: please use pci_enable_io() instead of messing with the config regs directly. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/