Date: Mon, 14 Apr 2003 15:14:53 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: Soeren Schmidt <sos@spider.deepcore.dk> Cc: current@FreeBSD.ORG Subject: Re: Workaround for some broken BIOSes that forgot to enableATAchannels [patch] Message-ID: <XFMail.20030414151453.jhb@FreeBSD.org> In-Reply-To: <200304141639.h3EGdGF6003933@spider.deepcore.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20030414151453.jhb>