From: Reza Jelveh <address@hidden>
The data byte count(DBC) read from the description information is defined for
bits 21:00. Bits 30:22 are reserved and bit 31 is the Interrupt on Completion
(I) flag.
Completion interrupts are triggered after every transaction instead of on
I-flag in QEMU. tbl_entry_size is a signed integer and improperly reading the
DBC leads to a negative offset that causes sglist allocation to fail.
Signed-off-by: Reza Jelveh <address@hidden>
---
This requires a custom ovmf image with sata controller for testing:
http://reza.jelveh.me/assets/OVMF.fd.bz2
Signed-off-by: Reza Jelveh <address@hidden>