提交 4e2a68c1 编写于 作者: A Artyom Tarasenko 提交者: Blue Swirl

esp (sparc32) Extra scsi data.

> ESP: Message Accepted (12)
> ESP: Transfer status (sense=0)
> ESP: read reg[5]: 0x20
> ESP: read reg[4]: 0x07
> ESP: read reg[7]: 0x02
> Extra scsi data. Fatal error.

It looks like "Message Accepted" shouldn't write a response. At least
ESP_RFLAGS must definetely be 0. With the following fix OBP goes one
step further:
Signed-off-by: NArtyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
上级 9e3a95ef
...@@ -528,9 +528,10 @@ static void esp_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_t val) ...@@ -528,9 +528,10 @@ static void esp_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_t val)
break; break;
case CMD_MSGACC: case CMD_MSGACC:
DPRINTF("Message Accepted (%2.2x)\n", val); DPRINTF("Message Accepted (%2.2x)\n", val);
write_response(s);
s->rregs[ESP_RINTR] = INTR_DC; s->rregs[ESP_RINTR] = INTR_DC;
s->rregs[ESP_RSEQ] = 0; s->rregs[ESP_RSEQ] = 0;
s->rregs[ESP_RFLAGS] = 0;
esp_raise_irq(s);
break; break;
case CMD_PAD: case CMD_PAD:
DPRINTF("Transfer padding (%2.2x)\n", val); DPRINTF("Transfer padding (%2.2x)\n", val);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册