summary refs log tree commit diff stats
path: root/hw/intc
diff options
context:
space:
mode:
authorNiklas Cassel <niklas.cassel@wdc.com>2023-06-09 16:08:41 +0200
committerJohn Snow <jsnow@redhat.com>2023-09-06 22:48:04 -0400
commitd73b84d0b664e60fffb66f46e84d0db4a8e1c713 (patch)
treed2292d5fdd88faab9597ef46f8cbe54fde75a8f1 /hw/intc
parente2a5d9b3d9c3d311618160603cc9bc04fbd98796 (diff)
downloadfocaccia-qemu-d73b84d0b664e60fffb66f46e84d0db4a8e1c713.tar.gz
focaccia-qemu-d73b84d0b664e60fffb66f46e84d0db4a8e1c713.zip
hw/ide/ahci: PxSACT and PxCI is cleared when PxCMD.ST is cleared
According to AHCI 1.3.1 definition of PxSACT:
This field is cleared when PxCMD.ST is written from a '1' to a '0' by
software. This field is not cleared by a COMRESET or a software reset.

According to AHCI 1.3.1 definition of PxCI:
This field is also cleared when PxCMD.ST is written from a '1' to a '0'
by software.

Clearing PxCMD.ST is part of the error recovery procedure, see
AHCI 1.3.1, section "6.2 Error Recovery".

If we don't clear PxCI on error recovery, the previous command will
incorrectly still be marked as pending after error recovery.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20230609140844.202795-6-nks@flawful.org
Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'hw/intc')
0 files changed, 0 insertions, 0 deletions