Re: Playing with SATA NCQ
From: Erik Slagter <hidden>
Date: 2005-05-29 17:46:13
Also in:
lkml
On Sun, 2005-05-29 at 13:29 -0400, Jeff Garzik wrote:
On Sun, May 29, 2005 at 07:23:52PM +0200, Erik Slagter wrote:quoted
On Sun, 2005-05-29 at 12:59 -0400, Jeff Garzik wrote:quoted
quoted
My question was if there is a fundamental reason why the AHCI mode of the ICH6/7 must be enabled by the BIOS, is there a reason why the kernel doesn't do it, or can't do it?The BIOS sets up PCI resources necessary to use AHCI mode.Ok. So there's absolutely no way to do that afterwards? It'd really be a pity :-(It is technically possible. BIOS is just software, just like the OS. It's just a huge pain in the butt, because the kernel might accidentally stomp on some resources the BIOS secretly set up, or somesuch.
Ah, ok. I wasn't aware of this large role of the BIOS in setting up hardware, nowadays. Grmbl.
quoted
On the same subject: is there a reason why ICH6 gets "BAR0-3 ignored" and always gets the legacy i/o ports and IRQ's assigned? I'd say there is absolutely no need to be compatible in this way, the PCI code can assign the IRQ and I/O ports as with any other PCI device?IDE is special. This is due to how the BIOS sets up an IDE PCI device in legacy mode. BAR0-3 are set to zero, which is a signal to the OS that the IDE PCI device is in legacy mode (io 0x1f0+0x170, irq 14+15). Since the IDE I/O ports are in ISA space not PCI space, the PCI BARs reflect nothing.
Goodie. So we will be stuck with MS/DOS compatibility until somewhere in the next millenium. I guess the only way to have, for example the ICH6, not using legacy IRQ/ports, is to switch it to AHCI, which only the BIOS can do (if implemented). Thrilling.