Problem in esp.c: if request cannot be handled in one scsi device access, DMA ptr s->espdmaregs[1] will be incremented by async transfer size both in esp_do_dma() and in esp_command_complete(). Removing the one in esp_do_dma() allows me to boot aurora sparc linux with qemu-system-sparc.