From 6bf9fd43cfc10022670d1135711d6952d98bcb02 Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Mon, 26 Sep 2011 14:52:26 +0300 Subject: Introduce PortioList Add a type and methods for manipulating a list of disjoint I/O ports, used in some older hardware devices. Based on original patch by Richard Henderson. Signed-off-by: Richard Henderson Signed-off-by: Avi Kivity --- ioport.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'ioport.h') diff --git a/ioport.h b/ioport.h index 82ffd9d81a..ae3e9da0b5 100644 --- a/ioport.h +++ b/ioport.h @@ -52,4 +52,25 @@ 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; + unsigned nr; + struct MemoryRegion **regions; + void *opaque; + const char *name; +} PortioList; + +void portio_list_init(PortioList *piolist, + const struct MemoryRegionPortio *callbacks, + void *opaque, const char *name); +void portio_list_destroy(PortioList *piolist); +void portio_list_add(PortioList *piolist, + struct MemoryRegion *address_space, + uint32_t addr); +void portio_list_del(PortioList *piolist); + #endif /* IOPORT_H */ -- cgit v1.2.3