[Bug 250924] Bhyve AHCI disk controller regression due to r364334
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Nov 7 14:07:39 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250924
Bug ID: 250924
Summary: Bhyve AHCI disk controller regression due to r364334
Product: Base System
Version: 12.2-RELEASE
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: bhyve
Assignee: virtualization at FreeBSD.org
Reporter: freebsd at gulag.ch
Created attachment 219426
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=219426&action=edit
diff patch against r364334
Since https://svnweb.freebsd.org/base?view=revision&revision=364334 Solaris and
Illumos guests are no longer able to detect the Bhyve AHCI disk controller and
the following error is reported:
---
SATA disk device at port X does not support UDMA
---
https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/io/sata/impl/sata.c#L12752
The culprit seems to be the missing ATA flag 88 at offset 53 in the parameter
buffer and this flag is indeed no longer set in 12.2-p0:
RELEASE-12.1:
buf[53] = (1 << 1 | 1 << 2);
RELEASE-12.2:
ata_ident->atavalid = (ATA_FLAG_54_58 | ATA_FLAG_64_70)
sys/sys/ata.h:
#define ATA_FLAG_54_58 0x0001 /* words 54-58 valid */
#define ATA_FLAG_64_70 0x0002 /* words 64-70 valid */
#define ATA_FLAG_88 0x0004 /* word 88 valid */
---
Setting the old parameters solves the problem (at least for Solaris/Illumos):
ata_ident->atavalid = (ATA_FLAG_64_70 | ATA_FLAG_88)
The attached patch reverts these parameters and thus restores the old behaviour
for both controllers (disk and cdrom).
The question is whether this change is intentional or simply a bug.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-virtualization
mailing list