On 11.07.2025 23:46, Mark Cave-Ayland wrote:
This series contains a few minor tidy-ups along with an implementation of the
logic to only allow ESP commands permitted in the current mode. The motivation
is to fix GitLab issue #2464 which causes Windows NT MIPS to bluescreen on
boot.

Patches 1 to 5 are simple tidy-ups from investigating the issue. Patch 6 adds
a new asc_mode variable to indicate the current ESP mode, whilst patch 7 
implements
the feature which fixes GitLab issue #2464.

Note: this series is being reposted as both the SeaBIOS and SeaBIOS hppa 
binaries
currently distributed with QEMU have now been fixed so that they do not use an
illegal ESP command sequence.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>

v3:
- Fix typo in comments for patches 4 and 5 as pointed out by Phil
- Add R-B tags from Phil

v2:
- Rebase onto master
- Add patches 4 and 5 to avoid calling the DMA functions for zero-length 
transfers


Mark Cave-Ayland (7):
   esp.c: only raise IRQ in esp_transfer_data() for CMD_SEL, CMD_SELATN
     and CMD_TI commands
   esp.c: improve comment in esp_transfer_data()
   esp.h: remove separate ESPState typedef
   esp.c: only call dma_memory_read function if transfer length is
     non-zero
   esp.c: only call dma_memory_write function if transfer length is
     non-zero
   esp.c: add asc_mode property to indicate the current ESP mode
   esp.c: only allow ESP commands permitted in the current asc_mode

  hw/scsi/esp.c         | 94 +++++++++++++++++++++++++++++++++++++------
  hw/scsi/trace-events  |  1 +
  include/hw/scsi/esp.h | 15 ++++++-
  3 files changed, 96 insertions(+), 14 deletions(-)

I wonder if we can pick this up for qemu-stable (10.0).  It's a large
change, but a fairy focused one..  What do you think?

(10.0 is expected to be long-term support series).

Thanks,

/mjt


Reply via email to