Commit dcfb90144bd83a13e24f214e0c4a1b0b55067289
1 parent
8294eba1
SCSI fixes, by Wang Cheng Yeh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2504 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
3 additions
and
3 deletions
hw/lsi53c895a.c
@@ -251,7 +251,7 @@ typedef struct { | @@ -251,7 +251,7 @@ typedef struct { | ||
251 | uint32_t ia; | 251 | uint32_t ia; |
252 | uint32_t sbc; | 252 | uint32_t sbc; |
253 | uint32_t csbc; | 253 | uint32_t csbc; |
254 | - uint32_t scratch[13]; /* SCRATCHA-SCRATCHR */ | 254 | + uint32_t scratch[18]; /* SCRATCHA-SCRATCHR */ |
255 | 255 | ||
256 | /* Script ram is stored as 32-bit words in host byteorder. */ | 256 | /* Script ram is stored as 32-bit words in host byteorder. */ |
257 | uint32_t script_ram[2048]; | 257 | uint32_t script_ram[2048]; |
@@ -1038,7 +1038,7 @@ again: | @@ -1038,7 +1038,7 @@ again: | ||
1038 | op0 |= op1; | 1038 | op0 |= op1; |
1039 | break; | 1039 | break; |
1040 | case 3: /* XOR */ | 1040 | case 3: /* XOR */ |
1041 | - op0 |= op1; | 1041 | + op0 ^= op1; |
1042 | break; | 1042 | break; |
1043 | case 4: /* AND */ | 1043 | case 4: /* AND */ |
1044 | op0 &= op1; | 1044 | op0 &= op1; |
@@ -1765,7 +1765,7 @@ static void lsi_io_writel(void *opaque, uint32_t addr, uint32_t val) | @@ -1765,7 +1765,7 @@ static void lsi_io_writel(void *opaque, uint32_t addr, uint32_t val) | ||
1765 | lsi_reg_writeb(s, addr, val & 0xff); | 1765 | lsi_reg_writeb(s, addr, val & 0xff); |
1766 | lsi_reg_writeb(s, addr + 1, (val >> 8) & 0xff); | 1766 | lsi_reg_writeb(s, addr + 1, (val >> 8) & 0xff); |
1767 | lsi_reg_writeb(s, addr + 2, (val >> 16) & 0xff); | 1767 | lsi_reg_writeb(s, addr + 2, (val >> 16) & 0xff); |
1768 | - lsi_reg_writeb(s, addr + 2, (val >> 24) & 0xff); | 1768 | + lsi_reg_writeb(s, addr + 3, (val >> 24) & 0xff); |
1769 | } | 1769 | } |
1770 | 1770 | ||
1771 | static void lsi_io_mapfunc(PCIDevice *pci_dev, int region_num, | 1771 | static void lsi_io_mapfunc(PCIDevice *pci_dev, int region_num, |