VirtualBox

Opened 10 years ago

Closed 10 years ago

#13474 closed defect (fixed)

AHCI interrupt acknowledge violates specification => fixed in SVN

Reported by: mav Owned by:
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 (2)

comment:1 by aeichner, 10 years ago

Summary: AHCI interrupt acknowledge violates specificationAHCI interrupt acknowledge violates specification => fixed in SVN

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

comment:2 by Frank Mehnert, 10 years ago

Resolution: fixed
Status: newclosed

Fix is part of VBox 4.3.18.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use