Skip to content

Commit

Permalink
hw/scsi/esp-pci: set DMA_STAT_BCMBLT when BLAST command issued
Browse files Browse the repository at this point in the history
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 c2d7de5)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
  • Loading branch information
mcayland authored and Michael Tokarev committed Jan 20, 2024
1 parent 5bdc6b9 commit 7837d7e
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions hw/scsi/esp-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 7837d7e

Please sign in to comment.