Closed charray closed 7 years ago
I will give this a try on my end and see what I can find. Thanks for reporting this.
This is confirmed as a bug. I tested with VirtualBox 5.1.8 and got the same results.
Check "Offset 10h: PxIS – Port x Interrupt Status" and "Offset 30h: PxSERR – Port x Serial ATA Error (SCR1: SError)" to see what the issue may be.
Set AHCI Enable (AE)? Currently the driver does not do this.
It's not AE (VirtualBox already has in enabled) and all of the BIOS handoff bits are clear.
Neat! So it's just iddrive function that hangs. Comment it out and BareMetal starts up fine (although it detects the disk is 0MiB). Reading from the disk after this works.
Set the FIS length to 5. This is the minimum for that type of FIS.
Hi,
I have pulled the latest version from git and compiled it today. Whenever I insert an AHCI drive, The system loops indefinitely after printing
[mem: 64 MiB] [hdd:
. After somecall os_output
debugging, I found the system loops indefinitely on the linejne iddrive_poll
inos/drivers/storage/achi.asm
.The VirtualBox I used is version 5.0.14. I tried with various disk sizes and the issue is repeatable. Is there anything I can do to troubleshoot? Thanks.