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 , 10 years ago
Summary: | AHCI interrupt acknowledge violates specification → AHCI interrupt acknowledge violates specification => fixed in SVN |
---|
Thanks for the report, this will be fixed in the next maintenance release.