Loading hw/ide/pci.c +32 −28 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ void bmdma_cmd_writeb(void *opaque, uint32_t addr, uint32_t val) #ifdef DEBUG_IDE printf("%s: 0x%08x\n", __func__, val); #endif /* Ignore writes to SSBM if it keeps the old value */ if ((val & BM_CMD_START) != (bm->cmd & BM_CMD_START)) { if (!(val & BM_CMD_START)) { /* * We can't cancel Scatter Gather DMA in the middle of the Loading @@ -61,7 +64,6 @@ void bmdma_cmd_writeb(void *opaque, uint32_t addr, uint32_t val) printf("ide_dma_cancel: BM_STATUS_DMAING still pending"); #endif } bm->cmd = val & 0x09; } else { if (!(bm->status & BM_STATUS_DMAING)) { bm->status |= BM_STATUS_DMAING; Loading @@ -69,10 +71,12 @@ void bmdma_cmd_writeb(void *opaque, uint32_t addr, uint32_t val) if (bm->dma_cb) bm->dma_cb(bm, 0); } bm->cmd = val & 0x09; } } bm->cmd = val & 0x09; } static void bmdma_addr_read(IORange *ioport, uint64_t addr, unsigned width, uint64_t *data) { Loading Loading
hw/ide/pci.c +32 −28 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ void bmdma_cmd_writeb(void *opaque, uint32_t addr, uint32_t val) #ifdef DEBUG_IDE printf("%s: 0x%08x\n", __func__, val); #endif /* Ignore writes to SSBM if it keeps the old value */ if ((val & BM_CMD_START) != (bm->cmd & BM_CMD_START)) { if (!(val & BM_CMD_START)) { /* * We can't cancel Scatter Gather DMA in the middle of the Loading @@ -61,7 +64,6 @@ void bmdma_cmd_writeb(void *opaque, uint32_t addr, uint32_t val) printf("ide_dma_cancel: BM_STATUS_DMAING still pending"); #endif } bm->cmd = val & 0x09; } else { if (!(bm->status & BM_STATUS_DMAING)) { bm->status |= BM_STATUS_DMAING; Loading @@ -69,10 +71,12 @@ void bmdma_cmd_writeb(void *opaque, uint32_t addr, uint32_t val) if (bm->dma_cb) bm->dma_cb(bm, 0); } bm->cmd = val & 0x09; } } bm->cmd = val & 0x09; } static void bmdma_addr_read(IORange *ioport, uint64_t addr, unsigned width, uint64_t *data) { Loading