diff options
author | Avi Kivity <avi@redhat.com> | 2011-07-26 14:26:09 +0300 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-07-29 08:25:43 -0500 |
commit | 627a0e90dc6b53504d6b9539b8e29210d82ecf9d (patch) | |
tree | 11d728c29d6c44c5ed131c25d4c71c2164d96c82 /memory.h | |
parent | 658b2224017b5c5fdc60969fa2f0798781b0cb3f (diff) |
memory: add backward compatibility for old portio registration
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'memory.h')
-rw-r--r-- | memory.h | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -23,9 +23,11 @@ #include "targphys.h" #include "qemu-queue.h" #include "iorange.h" +#include "ioport.h" typedef struct MemoryRegionOps MemoryRegionOps; typedef struct MemoryRegion MemoryRegion; +typedef struct MemoryRegionPortio MemoryRegionPortio; /* Must match *_DIRTY_FLAGS in cpu-all.h. To be replaced with dynamic * registration. @@ -78,6 +80,11 @@ struct MemoryRegionOps { */ bool unaligned; } impl; + + /* If .read and .write are not present, old_portio may be used for + * backwards compatibility with old portio registration + */ + const MemoryRegionPortio *old_portio; }; typedef struct CoalescedMemoryRange CoalescedMemoryRange; @@ -105,6 +112,16 @@ struct MemoryRegion { uint8_t dirty_log_mask; }; +struct MemoryRegionPortio { + uint32_t offset; + uint32_t len; + unsigned size; + IOPortReadFunc *read; + IOPortWriteFunc *write; +}; + +#define PORTIO_END { } + /** * memory_region_init: Initialize a memory region * |