Thursday, January 18, 2007

Haiku AHCI support

What does that mean? AHCI is the greatest thing since sliced bread. One interface to rule them all. One interface to find them. Them SATA harddisks.

Serial-ATA host controllers manufactured during the last two years are all slightly different, from the programming interface side of view. You need an extra driver for every one of them.

Intel decided time was ready for a generic standard, and invented AHCI, the Advanced Host Controller Interface. The specification was published in 2004 and you can get motherboard featuring those controllers right now.

I recently bought an Asus P5W DH Deluxe motherboard, which features the Intel 975X (ICH7R) chipset. Additionally, it uses an Jmicron JMB363 controller, which is also AHCI compliant. There is also a Hardware RAID controller Silicon Image 4723 included, but I'm not using it. It offers real hardware RAID (no driver required, you have to use a jumper to select the RAID mode) but as there is only Windows software available to be notified about RAID failure. For me it doesn't make much sense to utilize it, as at the moment I'm only running Linux at this computer.

I'm using Linux for Haiku development, and have setup the crosscompilation environment. Once the AHCI driver is ready (or when I decide to add an additional PATA harddisk), it will be possible to run Haiku on this machine.

On this website, Intel lists the following chipsets as AHCI compliant:

Intel® 631xESB/632xESB I/O Controller Hub
Intel® 82801HR/HH/HO I/O Controller Hub (ICH8R)
Intel® 82801GBM I/O Controller Hub (ICH7M)
Intel® 82801GR I/O Controller Hub (ICH7R)
Intel® 82801GH I/O Controller Hub (ICH7DH)
Intel® 82801FR I/O Controller Hub (ICH6R)
Intel® 82801FBM I/O Controller Hub (ICH6M)

6 Comments:

At 19 January, 2007 11:50, Anonymous jens said...

Hi,

Does only Intel support AHCI currently, or does all sata-chipsets implement AHCI?

I have something called "Via VT8237 VT6410" 0x1106/0x3149 on my mobo, would this driver support it?

great work btw. :-)

bye

 
At 19 January, 2007 11:52, Anonymous jens said...

ok, i should have read the post twice.

apparently it's not supported.

hehe

 
At 19 January, 2007 12:05, Blogger Marcus Overhagen said...

Hi Jens,

to identify if a device is AHCI compliant, you need to have a look at the PCI base-class, sub-class and class-api.

All controllers that identify as follows are supported:

base-class = 1 (mass-storage)
sub-class = 6 (sata)
class-api = 1 (ahci)

hth
Marcus

 
At 22 January, 2007 10:52, Blogger nitro said...

Hi Marcus, nice to see your blog updated. Although i'm a bit away from the haiku project and BeOS community, i like to see efforts and i'd like to get more involved with the project.

 
At 26 January, 2007 13:10, Anonymous Anonymous said...

Marcus!
Great to see that you're back. I always loved you haiku devs blogs.
/Konrad

 
At 20 February, 2007 01:01, Anonymous Anonymous said...

I have an MSI RX480 Neo2-F motherboard with an Athlon64 X2 4800+ CPU. The chipset is an ATI Radeon 200P/SB400.

Nothing I've turned off in the boot menu of BeOS or turned off in the BIOS allows me to get any further than the 4th icon (oscilloscope) before BeOS/Zeta freezes solid.

I'm lead to believe the chipset is incompatible, but I'm wondering if there is ANY way around it (some file inside of BeOS, the zbeos file, or something...) or a driver that can be written to work with this particular chipset.

HELP!!!

I can be reached at: luposian@cox.net

Thank you.

 

Post a Comment

<< Home