SDAHCI(3)						     SDAHCI(3)

     NAME
	  sdahci - AHCI	(Advanced Host Controller Interface) SATA
	  (Serial ATA) storage device drivers

     SYNOPSIS
	  bind -a #S /dev
	  /dev/sdctl
	  /dev/sdEn/ctl
	  /dev/sdEn/raw
	  /dev/sdEn/data
	  ...

     DESCRIPTION
	  The sdahci driver provides access to AHCI devices via	the
	  sd(3)	interface.  The	AHCI programming interface supports up
	  to 32	hot-swappable ATAPI or hard disk-like devices per con-
	  troller.  The	legacy IDE interface provided by sdata.c sup-
	  ports	up to four drives which	are not	hot-swappable.	Con-
	  troller drive	letters	are assigned from `E' onward.

	  AHCI controllers are detected	automatically.	Currently
	  Intel	and AMD	controllers are	detected.  Intel controllers
	  need to have AHCI enabled in the BIOS.  For `ich' parts this
	  typically means enabling enhanced mode and AHCI.  For	ESB
	  (Enterprise South Bridge) -based parts, only enhanced	mode
	  needs	to be enabled.	Intel ich9-based AHCI does not support
	  hot swapping and drives must be connected to the lowest-
	  numbered free	port.

	  The top level	control	file, /dev/sdctl, supports the follow-
	  ing control messages for sdahci:

	  ahci debug	Toggle debug messages.	Default	is off.
	  ahci idprint	Toggle printing	of drive identification	mes-
			sages.	Default	is on.	Prints short messages
			when a drive is	identified or removed.
	  ahci aprint	Print verbose ATAPI debugging messages.
			Default	is off.

	  The device-level ctl file supports:

	  flushcache	Send the ATA/ATAPI FLUSH CACHE command (0xe7
			or 0xea).  This	command	may take up to 60
			seconds	to complete.
	  identify	Send the ATA/ATAPI IDENTIFY DEVICE command
			(0xec).	 If device information has changed,
			the new	size, features and serial will be
			noted.	If changed, I/O	on existing file
			descriptors will result	in the error string
			`media or partition has	changed'.
	  mode speed	Change the connection speed to one of auto,
			satai or sataii.
	  nop		Send the ATA NOP command (0) if	the device
			supports it. Per standard, the result is
			always an error.
	  smart		Send the ATA/ATAPI SMART RETURN	STATUS command
			(0xda).	 This will fail	unless SMART is
			enabled	on the drive.
	  smartdisable	Disable	SMART on the drive.  SMART is a	per-
			sistent	property of the	drive.
	  smartenable	Enable SMART on	the drive.
	  state	state	Force a	transition to the named	state. The
			states are:
			null	   ignored (may	only be	reached	manu-
				   ally);
			missing	   not detected;
			new	   powered down	or newly discovered;
			ready	   ready for commands;
			reset	   being reset gently;
			portreset  being fully reset;
			offline	   device failed portreset (a port
				   reset will be attempted periodi-
				   cally).

	  For devices present at boot, the transition is from state
	  new to state ready.

     SOURCE
	  /sys/src/9/pc/sdiahci.c

     SEE ALSO
	  sd(3)
	  http://download.intel.com/technology/serialata/pdf/rev1_2.pdf.

     BUGS
	  None of enclosure management,	LED control and	port multi-
	  pliers are supported.

	  ATAPI	devices	may not	be reset when they have	outstanding
	  commands.



/plan9/man/3/