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) {
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to