Commit 7faa239ca39b986a64ca99056311b32bc6cff55f
1 parent
85a6f129
Fix length mismatch condition, by Wang Cheng Yeh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2735 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
3 additions
and
2 deletions
hw/lsi53c895a.c
... | ... | @@ -855,6 +855,7 @@ again: |
855 | 855 | offset = sxt24(addr); |
856 | 856 | cpu_physical_memory_read(s->dsa + offset, (uint8_t *)buf, 8); |
857 | 857 | s->dbc = cpu_to_le32(buf[0]); |
858 | + s->rbc = s->dbc; | |
858 | 859 | addr = cpu_to_le32(buf[1]); |
859 | 860 | } |
860 | 861 | if ((s->sstat1 & PHASE_MASK) != ((insn >> 24) & 7)) { |
... | ... | @@ -864,6 +865,8 @@ again: |
864 | 865 | break; |
865 | 866 | } |
866 | 867 | s->dnad = addr; |
868 | + /* ??? Set ESA. */ | |
869 | + s->ia = s->dsp - 8; | |
867 | 870 | switch (s->sstat1 & 0x7) { |
868 | 871 | case PHASE_DO: |
869 | 872 | s->waiting = 2; |
... | ... | @@ -898,8 +901,6 @@ again: |
898 | 901 | s->sbc = s->dbc; |
899 | 902 | s->rbc -= s->dbc; |
900 | 903 | s->ua = addr + s->dbc; |
901 | - /* ??? Set ESA. */ | |
902 | - s->ia = s->dsp - 8; | |
903 | 904 | break; |
904 | 905 | |
905 | 906 | case 1: /* IO or Read/Write instruction. */ | ... | ... |