aboutsummaryrefslogtreecommitdiff
path: root/hw/scsi
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2024-01-12 13:15:29 +0000
committerMichael Tokarev <mjt@tls.msk.ru>2024-01-20 18:25:42 +0300
commit164e6f7d66adeaae9db54cefec9fca8941fe1e10 (patch)
treeea90115eb2283e62c673574504a7038f081aab42 /hw/scsi
parent06a28b783bd406eacf452d9b0400719f3bc226c5 (diff)
downloadqemu-164e6f7d66adeaae9db54cefec9fca8941fe1e10.zip
qemu-164e6f7d66adeaae9db54cefec9fca8941fe1e10.tar.gz
qemu-164e6f7d66adeaae9db54cefec9fca8941fe1e10.tar.bz2
hw/scsi/esp-pci: set DMA_STAT_BCMBLT when BLAST command issued
Even though the BLAST command isn't fully implemented in QEMU, the DMA_STAT_BCMBLT bit should be set after the command has been issued to indicate that the command has completed. This fixes an issue with the DC390 DOS driver which issues the BLAST command as part of its normal error recovery routine at startup, and otherwise sits in a tight loop waiting for DMA_STAT_BCMBLT to be set before continuing. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Guenter Roeck <linux@roeck-us.net> Message-ID: <20240112131529.515642-5-mark.cave-ayland@ilande.co.uk> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> (cherry picked from commit c2d7de557d19ec76eb83b87b6bf77c8114e2f183) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'hw/scsi')
-rw-r--r--hw/scsi/esp-pci.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/scsi/esp-pci.c b/hw/scsi/esp-pci.c
index b1bd43b..51f0157 100644
--- a/hw/scsi/esp-pci.c
+++ b/hw/scsi/esp-pci.c
@@ -124,6 +124,7 @@ static void esp_pci_handle_blast(PCIESPState *pci, uint32_t val)
{
trace_esp_pci_dma_blast(val);
qemu_log_mask(LOG_UNIMP, "am53c974: cmd BLAST not implemented\n");
+ pci->dma_regs[DMA_STAT] |= DMA_STAT_BCMBLT;
}
static void esp_pci_handle_abort(PCIESPState *pci, uint32_t val)