[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 17/66] ioport: Move portio types to ioport.h
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 17/66] ioport: Move portio types to ioport.h |
Date: |
Thu, 4 Jul 2013 17:13:13 +0200 |
From: Jan Kiszka <address@hidden>
This decouples memory.h from ioport.h, concentrating all portio related
types in a single header.
Signed-off-by: Jan Kiszka <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
include/exec/ioport.h | 17 +++++++++++------
include/exec/memory.h | 13 -------------
2 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/include/exec/ioport.h b/include/exec/ioport.h
index ba3ebb8..6fb237d 100644
--- a/include/exec/ioport.h
+++ b/include/exec/ioport.h
@@ -25,6 +25,7 @@
#define IOPORT_H
#include "qemu-common.h"
+#include "exec/memory.h"
typedef uint32_t pio_addr_t;
#define FMT_pioaddr PRIx32
@@ -32,9 +33,16 @@ typedef uint32_t pio_addr_t;
#define MAX_IOPORTS (64 * 1024)
#define IOPORTS_MASK (MAX_IOPORTS - 1)
-/* These should really be in isa.h, but are here to make pc.h happy. */
-typedef void (IOPortWriteFunc)(void *opaque, uint32_t address, uint32_t data);
-typedef uint32_t (IOPortReadFunc)(void *opaque, uint32_t address);
+typedef struct MemoryRegionPortio {
+ uint32_t offset;
+ uint32_t len;
+ unsigned size;
+ uint32_t (*read)(void *opaque, uint32_t address);
+ void (*write)(void *opaque, uint32_t address, uint32_t data);
+ uint32_t base; /* private field */
+} MemoryRegionPortio;
+
+#define PORTIO_END_OF_LIST() { }
void cpu_outb(pio_addr_t addr, uint8_t val);
void cpu_outw(pio_addr_t addr, uint16_t val);
@@ -43,9 +51,6 @@ uint8_t cpu_inb(pio_addr_t addr);
uint16_t cpu_inw(pio_addr_t addr);
uint32_t cpu_inl(pio_addr_t addr);
-struct MemoryRegion;
-struct MemoryRegionPortio;
-
typedef struct PortioList {
const struct MemoryRegionPortio *ports;
struct MemoryRegion *address_space;
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 2d7f49c..4eec2f7 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -24,7 +24,6 @@
#include "exec/hwaddr.h"
#endif
#include "qemu/queue.h"
-#include "exec/ioport.h"
#include "qemu/int128.h"
#include "qemu/notify.h"
@@ -32,7 +31,6 @@
#define MAX_PHYS_ADDR (((hwaddr)1 << MAX_PHYS_ADDR_SPACE_BITS) - 1)
typedef struct MemoryRegionOps MemoryRegionOps;
-typedef struct MemoryRegionPortio MemoryRegionPortio;
typedef struct MemoryRegionMmio MemoryRegionMmio;
/* Must match *_DIRTY_FLAGS in cpu-all.h. To be replaced with dynamic
@@ -166,17 +164,6 @@ struct MemoryRegion {
NotifierList iommu_notify;
};
-struct MemoryRegionPortio {
- uint32_t offset;
- uint32_t len;
- unsigned size;
- IOPortReadFunc *read;
- IOPortWriteFunc *write;
- uint32_t base; /* private field */
-};
-
-#define PORTIO_END_OF_LIST() { }
-
/**
* AddressSpace: describes a mapping of addresses to #MemoryRegion objects
*/
--
1.8.1.4
- [Qemu-devel] [PATCH 07/66] i82374: replace register_ioport*, (continued)
- [Qemu-devel] [PATCH 07/66] i82374: replace register_ioport*, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 08/66] prep: replace register_ioport*, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 09/66] vt82c686: replace register_ioport*, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 10/66] Privatize register_ioport_read/write, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 11/66] isa: implement isa_is_ioport_assigned via memory_region_find, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 12/66] vmware-vga: Accept unaligned I/O accesses, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 13/66] xen: Mark fixed platform I/O as unaligned, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 14/66] ioport: Switch dispatching to memory core layer, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 16/66] vmport: Disentangle read handler type from portio, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 15/66] ioport: Remove unused old dispatching services, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 17/66] ioport: Move portio types to ioport.h,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 19/66] memory: destroy phys_sections one by one, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 20/66] exec: simplify destruction of the phys map, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 21/66] memory: add getter for owner, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 22/66] memory: add ref/unref, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 23/66] memory: introduce memory_region_present, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 24/66] memory: add ref/unref calls, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 25/66] exec: check MRU in qemu_ram_addr_from_host, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 26/66] exec: move qemu_ram_addr_from_host_nofail to cputlb.c, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 27/66] memory: return MemoryRegion from qemu_ram_addr_from_host, Paolo Bonzini, 2013/07/04
- [Qemu-devel] [PATCH 28/66] exec: reorganize address_space_map, Paolo Bonzini, 2013/07/04