aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJamin Lin <jamin_lin@aspeedtech.com>2025-05-15 16:09:35 +0800
committerCédric Le Goater <clg@redhat.com>2025-05-25 23:39:11 +0200
commitfb8e59abbe46957cd599bb9aa9221fad1e4e989e (patch)
treea5db5cf23b62095c0ce8deab5d7f50b3a0028d54 /python
parentc869da4edd7ad91975fd9887ec924ba621b3c7f8 (diff)
downloadqemu-fb8e59abbe46957cd599bb9aa9221fad1e4e989e.zip
qemu-fb8e59abbe46957cd599bb9aa9221fad1e4e989e.tar.gz
qemu-fb8e59abbe46957cd599bb9aa9221fad1e4e989e.tar.bz2
hw/misc/aspeed_hace: Ensure HASH_IRQ is always set to prevent firmware hang
Currently, if the program encounters an unsupported algorithm, it does not set the HASH_IRQ bit in the status register and send an interrupt to indicate command completion. As a result, the FW gets stuck waiting for a completion signal from the HACE module. Additionally, in do_hash_operation, if an error occurs within the conditional statement, the HASH_IRQ bit is not set in the status register. This causes the firmware to continuously send HASH commands, as it is unaware that the HACE model has completed processing the command. To fix this, the HASH_IRQ bit in the status register must always be set to ensure that the firmware receives an interrupt from the HACE module, preventing it from getting stuck or repeatedly sending HASH commands. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Fixes: c5475b3 ("hw: Model ASPEED's Hash and Crypto Engine") Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20250515081008.583578-4-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'python')
0 files changed, 0 insertions, 0 deletions