svn commit: r263238 - head/usr.sbin/bhyve
Tycho Nightingale
tychon at FreeBSD.org
Sun Mar 16 12:33:41 UTC 2014
Author: tychon
Date: Sun Mar 16 12:33:40 2014
New Revision: 263238
URL: http://svnweb.freebsd.org/changeset/base/263238
Log:
Though there currently isn't a way to insert new media into an ATAPI
drive, at least pretend to support Asynchronous Notification (AN) to
avoid a guest needlessly polling for it.
Approved by: grehan (co-mentor)
Modified:
head/usr.sbin/bhyve/pci_ahci.c
Modified: head/usr.sbin/bhyve/pci_ahci.c
==============================================================================
--- head/usr.sbin/bhyve/pci_ahci.c Sun Mar 16 12:32:16 2014 (r263237)
+++ head/usr.sbin/bhyve/pci_ahci.c Sun Mar 16 12:33:40 2014 (r263238)
@@ -95,6 +95,13 @@ enum sata_fis_type {
#define MODEPAGE_CD_CAPABILITIES 0x2A
/*
+ * ATA commands
+ */
+#define ATA_SF_ENAB_SATA_SF 0x10
+#define ATA_SATA_SF_AN 0x05
+#define ATA_SF_DIS_SATA_SF 0x90
+
+/*
* Debug printf
*/
#ifdef AHCI_DEBUG
@@ -1169,6 +1176,17 @@ ahci_handle_cmd(struct ahci_port *p, int
case ATA_SETFEATURES:
{
switch (cfis[3]) {
+ case ATA_SF_ENAB_SATA_SF:
+ switch (cfis[12]) {
+ case ATA_SATA_SF_AN:
+ p->tfd = ATA_S_DSC | ATA_S_READY;
+ break;
+ default:
+ p->tfd = ATA_S_ERROR | ATA_S_READY;
+ p->tfd |= (ATA_ERROR_ABORT << 8);
+ break;
+ }
+ break;
case ATA_SF_ENAB_WCACHE:
case ATA_SF_DIS_WCACHE:
case ATA_SF_ENAB_RCACHE:
More information about the svn-src-all
mailing list