VirtualBox

Ticket #13474 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

AHCI interrupt acknowledge violates specification => fixed in SVN

Reported by: mav Owned by:
Priority: major Component: virtual disk
Version: VirtualBox 4.3.12 Keywords: AHCI interrupt status
Cc: Guest type: BSD
Host type: all

Description

While optimizing FreeBSD AHCI driver I found that VirtualBox does not allow to acknowledge AHCI interrupt by writing AHCI IS (Interrupt Status) register without reading from that register first.

You may see it looking inside HbaInterruptStatus_r() function, which is the only place where u32PortsInterrupted variable is cleared. But in configuration with only one SATA port present and command completion coalescing disabled I don't really need to read IS register to know the source of the interrupt. So in my driver I am just writing to it without spending extra time on read, which can be quite expensive. It perfectly works on real hardware, but not inside VirtualBox.

I believe it is an AHCI specification violation from the VirtualBox side, and it should be fixed.

Change History

comment:1 Changed 3 years ago by aeichner

  • Summary changed from AHCI interrupt acknowledge violates specification to AHCI interrupt acknowledge violates specification => fixed in SVN

Thanks for the report, this will be fixed in the next maintenance release.

comment:2 Changed 3 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Fix is part of VBox 4.3.18.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use