sim-card
/
qemu
Archived
10
0
Fork 0

Fix length mismatch condition, by Wang Cheng Yeh.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2735 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
ths 2007-04-28 20:45:04 +00:00
parent 85a6f12925
commit 7faa239ca3
1 changed files with 3 additions and 2 deletions

View File

@ -855,6 +855,7 @@ again:
offset = sxt24(addr);
cpu_physical_memory_read(s->dsa + offset, (uint8_t *)buf, 8);
s->dbc = cpu_to_le32(buf[0]);
s->rbc = s->dbc;
addr = cpu_to_le32(buf[1]);
}
if ((s->sstat1 & PHASE_MASK) != ((insn >> 24) & 7)) {
@ -864,6 +865,8 @@ again:
break;
}
s->dnad = addr;
/* ??? Set ESA. */
s->ia = s->dsp - 8;
switch (s->sstat1 & 0x7) {
case PHASE_DO:
s->waiting = 2;
@ -898,8 +901,6 @@ again:
s->sbc = s->dbc;
s->rbc -= s->dbc;
s->ua = addr + s->dbc;
/* ??? Set ESA. */
s->ia = s->dsp - 8;
break;
case 1: /* IO or Read/Write instruction. */