Commit 7faa239ca39b986a64ca99056311b32bc6cff55f

Authored by ths
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. */
... ...