svn commit: r367709 - head/usr.sbin/bhyve

Peter Grehan grehan at FreeBSD.org
Sun Nov 15 12:59:25 UTC 2020


Author: grehan
Date: Sun Nov 15 12:59:24 2020
New Revision: 367709
URL: https://svnweb.freebsd.org/changeset/base/367709

Log:
  Fix regression in AHCI controller settings.
  
  When the AHCI code was reworked to use FreeBSD struct
  definitions, the valid element was mis-transcribed resulting
  in the UMDA capability being hidden. This prevented Illumos
  from using AHCI disk/cdrom drives.
  
  Fix by using definitions that match the code pre-rework.
  
  PR:	250924
  Submitted by:	Rolf Stalder
  Reported by:	Rolf Stalder
  MFC after:	3 days

Modified:
  head/usr.sbin/bhyve/pci_ahci.c

Modified: head/usr.sbin/bhyve/pci_ahci.c
==============================================================================
--- head/usr.sbin/bhyve/pci_ahci.c	Sun Nov 15 12:31:07 2020	(r367708)
+++ head/usr.sbin/bhyve/pci_ahci.c	Sun Nov 15 12:59:24 2020	(r367709)
@@ -1004,7 +1004,7 @@ ata_identify_init(struct ahci_port* p, int atapi)
 		ata_ident->capabilities1 = ATA_SUPPORT_LBA |
 			ATA_SUPPORT_DMA;
 		ata_ident->capabilities2 = (1 << 14 | 1);
-		ata_ident->atavalid = ATA_FLAG_54_58 | ATA_FLAG_64_70;
+		ata_ident->atavalid = ATA_FLAG_64_70 | ATA_FLAG_88;
 		ata_ident->obsolete62 = 0x3f;
 		ata_ident->mwdmamodes = 7;
 		if (p->xfermode & ATA_WDMA0)
@@ -1053,8 +1053,7 @@ ata_identify_init(struct ahci_port* p, int atapi)
 		ata_ident->capabilities1 = ATA_SUPPORT_DMA |
 			ATA_SUPPORT_LBA | ATA_SUPPORT_IORDY;
 		ata_ident->capabilities2 = (1 << 14);
-		ata_ident->atavalid = ATA_FLAG_54_58 |
-			ATA_FLAG_64_70;
+		ata_ident->atavalid = ATA_FLAG_64_70 | ATA_FLAG_88;
 		if (p->mult_sectors)
 			ata_ident->multi = (ATA_MULTI_VALID | p->mult_sectors);
 		if (sectors <= 0x0fffffff) {


More information about the svn-src-head mailing list