qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PULL 10/20] i8257: move state definition to new independen


From: John Snow
Subject: [Qemu-devel] [PULL 10/20] i8257: move state definition to new independent header
Date: Wed, 3 Feb 2016 15:32:25 -0500

From: Hervé Poussineau <address@hidden>

We will now be able to embed the i8257 interrupt controller in another object.

Signed-off-by: Hervé Poussineau <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
---
 hw/dma/i8257.c         | 35 +----------------------------------
 include/hw/isa/i8257.h | 42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 34 deletions(-)
 create mode 100644 include/hw/isa/i8257.h

diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c
index bd6bcb5..35ca8a4 100644
--- a/hw/dma/i8257.c
+++ b/hw/dma/i8257.c
@@ -24,10 +24,10 @@
 #include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "hw/isa/isa.h"
+#include "hw/isa/i8257.h"
 #include "qemu/main-loop.h"
 #include "trace.h"
 
-#define TYPE_I8257 "i8257"
 #define I8257(obj) \
     OBJECT_CHECK(I8257State, (obj), TYPE_I8257)
 
@@ -42,42 +42,9 @@
 #define ldebug(...)
 #endif
 
-typedef struct I8257Regs {
-    int now[2];
-    uint16_t base[2];
-    uint8_t mode;
-    uint8_t page;
-    uint8_t pageh;
-    uint8_t dack;
-    uint8_t eop;
-    DMA_transfer_handler transfer_handler;
-    void *opaque;
-} I8257Regs;
-
 #define ADDR 0
 #define COUNT 1
 
-typedef struct I8257State {
-    ISADevice parent_obj;
-
-    int32_t base;
-    int32_t page_base;
-    int32_t pageh_base;
-    int32_t dshift;
-
-    uint8_t status;
-    uint8_t command;
-    uint8_t mask;
-    uint8_t flip_flop;
-    I8257Regs regs[4];
-    MemoryRegion channel_io;
-    MemoryRegion cont_io;
-
-    QEMUBH *dma_bh;
-    bool dma_bh_scheduled;
-    int running;
-} I8257State;
-
 static I8257State *dma_controllers[2];
 
 enum {
diff --git a/include/hw/isa/i8257.h b/include/hw/isa/i8257.h
new file mode 100644
index 0000000..8d34ed1
--- /dev/null
+++ b/include/hw/isa/i8257.h
@@ -0,0 +1,42 @@
+#ifndef HW_I8257_H
+#define HW_I8257_H
+
+#define TYPE_I8257 "i8257"
+
+typedef struct I8257Regs {
+    int now[2];
+    uint16_t base[2];
+    uint8_t mode;
+    uint8_t page;
+    uint8_t pageh;
+    uint8_t dack;
+    uint8_t eop;
+    DMA_transfer_handler transfer_handler;
+    void *opaque;
+} I8257Regs;
+
+typedef struct I8257State {
+    /* <private> */
+    ISADevice parent_obj;
+
+    /* <public> */
+    int32_t base;
+    int32_t page_base;
+    int32_t pageh_base;
+    int32_t dshift;
+
+    uint8_t status;
+    uint8_t command;
+    uint8_t mask;
+    uint8_t flip_flop;
+    I8257Regs regs[4];
+    MemoryRegion channel_io;
+    MemoryRegion cont_io;
+
+    QEMUBH *dma_bh;
+    bool dma_bh_scheduled;
+    int running;
+} I8257State;
+
+#endif
+
-- 
2.4.3




reply via email to

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