[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 09/19] i8257: move state definition to new indepe
From: |
Hervé Poussineau |
Subject: |
[Qemu-devel] [PATCH v3 09/19] i8257: move state definition to new independent header |
Date: |
Tue, 26 Jan 2016 22:32:14 +0100 |
We will now be able to embed the i8257 interrupt controller in another object.
Signed-off-by: Hervé Poussineau <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 2eb6d42..5210e0e 100644
--- a/hw/dma/i8257.c
+++ b/hw/dma/i8257.c
@@ -23,10 +23,10 @@
*/
#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)
@@ -41,42 +41,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.1.4
- [Qemu-devel] [PATCH v3 00/19] ISA DMA controllers cleanup (i8257, i82374), Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 01/19] i82374: device only existed as ISA device, so simplify device, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 05/19] i8257: rename functions to start with i8257_ prefix, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 11/19] i8257: implement the IsaDma interface, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 16/19] cs4231a: use IsaDma interface instead of global DMA_* functions, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 12/19] magnum: disable floppy DMA for now, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 07/19] i8257: add missing const, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 04/19] i8257: rename struct dma_regs to I8257Regs, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 09/19] i8257: move state definition to new independent header,
Hervé Poussineau <=
- [Qemu-devel] [PATCH v3 02/19] i8257: pass ISA bus to DMA_init() function, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 08/19] i8257: QOM'ify, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 19/19] dma: remove now useless DMA_* functions, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 15/19] fdc: use IsaDma interface instead of global DMA_* functions, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 10/19] isa: add an ISA DMA interface, and store it within the ISA bus, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 03/19] i8257: rename struct dma_cont to I8257State, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 14/19] sparc64: disable floppy DMA, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 06/19] i8257: make the DMA running method per controller, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 13/19] sparc: disable floppy DMA, Hervé Poussineau, 2016/01/26
- [Qemu-devel] [PATCH v3 18/19] sb16: use IsaDma interface instead of global DMA_* functions, Hervé Poussineau, 2016/01/26