qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 5/7] hw/ide: Move IDE DMA related definitions to a separate h


From: Thomas Huth
Subject: Re: [PATCH 5/7] hw/ide: Move IDE DMA related definitions to a separate header ide-dma.h
Date: Mon, 19 Feb 2024 20:49:38 +0100
User-agent: Mozilla Thunderbird

On 19/02/2024 12.53, BALATON Zoltan wrote:
On Mon, 19 Feb 2024, Thomas Huth wrote:
These definitions are required outside of the hw/ide/ code, too,
so lets's move them from internal.h to a new header called ide-dma.h.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
include/hw/ide/ide-dma.h  | 30 ++++++++++++++++++++++++++++++
include/hw/ide/internal.h | 27 +--------------------------
2 files changed, 31 insertions(+), 26 deletions(-)
create mode 100644 include/hw/ide/ide-dma.h

diff --git a/include/hw/ide/ide-dma.h b/include/hw/ide/ide-dma.h
new file mode 100644
index 0000000000..fb82966bdd
--- /dev/null
+++ b/include/hw/ide/ide-dma.h
@@ -0,0 +1,30 @@
+#ifndef HW_IDE_DMA_H
+#define HW_IDE_DMA_H
+
+typedef void DMAStartFunc(const IDEDMA *, IDEState *, BlockCompletionFunc *);
+typedef void DMAVoidFunc(const IDEDMA *);
+typedef int DMAIntFunc(const IDEDMA *, bool);
+typedef int32_t DMAInt32Func(const IDEDMA *, int32_t len);
+typedef void DMAu32Func(const IDEDMA *, uint32_t);
+typedef void DMAStopFunc(const IDEDMA *, bool);
+
+struct IDEDMAOps {
+    DMAStartFunc *start_dma;
+    DMAVoidFunc *pio_transfer;
+    DMAInt32Func *prepare_buf;
+    DMAu32Func *commit_buf;
+    DMAIntFunc *rw_buf;
+    DMAVoidFunc *restart;
+    DMAVoidFunc *restart_dma;
+    DMAStopFunc *set_inactive;
+    DMAVoidFunc *cmd_done;
+    DMAVoidFunc *reset;
+};
+
+struct IDEDMA {
+    const struct IDEDMAOps *ops;
+    QEMUIOVector qiov;
+    BlockAIOCB *aiocb;

Doesn't this need to #include something to define QEMUIOVector and BlockAIOCB and some of the DMA and IDE types not defined above?

Yes, it currently works by accident since the header is only included in spots where those things are already defined, but I'll better add some #include statements here so that this header can also be used stand-alone in other spots.

 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]