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. */ | ... | ... |