[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/2 v5] add function DMA_set_return and delete bh_sc
From: |
Li Zhi Hui |
Subject: |
[Qemu-devel] [PATCH 1/2 v5] add function DMA_set_return and delete bh_schedule in dma.c |
Date: |
Thu, 19 Apr 2012 13:42:08 +0800 |
add function DMA_set_return and delete bh_schedule in dma.c
Signed-off-by: Li Zhi Hui <address@hidden>
---
hw/dma.c | 13 +++++++++++++
hw/isa.h | 1 +
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/hw/dma.c b/hw/dma.c
index 0a9322d..55dc320 100644
--- a/hw/dma.c
+++ b/hw/dma.c
@@ -460,6 +460,19 @@ void DMA_schedule(int nchan)
qemu_irq_pulse(*d->cpu_request_exit);
}
+void DMA_set_return(int nret, int nchan)
+{
+ struct dma_regs *r;
+ struct dma_cont *d;
+ int icont, ichan;
+
+ icont = nchan > 3;
+ ichan = nchan & 3;
+ d = dma_controllers;
+ r = &d[icont].regs[ichan];
+ r->now[COUNT] = nret;
+}
+
static void dma_reset(void *opaque)
{
struct dma_cont *d = opaque;
diff --git a/hw/isa.h b/hw/isa.h
index 40373fb..277f54c 100644
--- a/hw/isa.h
+++ b/hw/isa.h
@@ -92,4 +92,5 @@ void DMA_init(int high_page_enable, qemu_irq
*cpu_request_exit);
void DMA_register_channel (int nchan,
DMA_transfer_handler transfer_handler,
void *opaque);
+void DMA_set_return(int nret, int nchan);
#endif
--
1.7.4.1
- [Qemu-devel] [PATCH 1/2 v5] add function DMA_set_return and delete bh_schedule in dma.c,
Li Zhi Hui <=