From d0d37124177248e62e33816c897f0328abc77c00 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Sat, 24 Feb 2018 02:43:09 -0500 Subject: [PATCH] hw: remove pio_addr_t pio_addr_t is almost unused, because these days I/O ports are simply accessed through the address space. cpu_{in,out}[bwl] themselves are almost unused; monitor.c and xen-hvm.c could use address_space_read/write directly, since they have an integer size at hand. This leaves qtest as the only user of those functions. On the other hand even portio_* functions use this type; the only interesting use of pio_addr_t thus is include/hw/sysbus.h. I guess I could move it there, but I don't see much benefit in that either. Using uint32_t is enough and avoids the need to include ioport.h everywhere. Backports commit 89a80e7400f7225d9401b35ef32454b4ab29dc67 from qemu --- qemu/include/exec/ioport.h | 15 ++++++--------- qemu/ioport.c | 12 ++++++------ 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/qemu/include/exec/ioport.h b/qemu/include/exec/ioport.h index 0d32c895..efefc303 100644 --- a/qemu/include/exec/ioport.h +++ b/qemu/include/exec/ioport.h @@ -28,9 +28,6 @@ #include "qom/object.h" #include "exec/memory.h" -typedef uint32_t pio_addr_t; -#define FMT_pioaddr PRIx32 - #define MAX_IOPORTS (64 * 1024) #define IOPORTS_MASK (MAX_IOPORTS - 1) @@ -49,11 +46,11 @@ typedef struct MemoryRegionPortio { extern const MemoryRegionOps unassigned_io_ops; #endif -void cpu_outb(struct uc_struct *uc, pio_addr_t addr, uint8_t val); -void cpu_outw(struct uc_struct *uc, pio_addr_t addr, uint16_t val); -void cpu_outl(struct uc_struct *uc, pio_addr_t addr, uint32_t val); -uint8_t cpu_inb(struct uc_struct *uc, pio_addr_t addr); -uint16_t cpu_inw(struct uc_struct *uc, pio_addr_t addr); -uint32_t cpu_inl(struct uc_struct *uc, pio_addr_t addr); +void cpu_outb(struct uc_struct *uc, uint32_t addr, uint8_t val); +void cpu_outw(struct uc_struct *uc, uint32_t addr, uint16_t val); +void cpu_outl(struct uc_struct *uc, uint32_t addr, uint32_t val); +uint8_t cpu_inb(struct uc_struct *uc, uint32_t addr); +uint16_t cpu_inw(struct uc_struct *uc, uint32_t addr); +uint32_t cpu_inl(struct uc_struct *uc, uint32_t addr); #endif /* IOPORT_H */ diff --git a/qemu/ioport.c b/qemu/ioport.c index 87293f83..5693f189 100644 --- a/qemu/ioport.c +++ b/qemu/ioport.c @@ -74,7 +74,7 @@ const MemoryRegionOps unassigned_io_ops = { DEVICE_NATIVE_ENDIAN, }; -void cpu_outb(struct uc_struct *uc, pio_addr_t addr, uint8_t val) +void cpu_outb(struct uc_struct *uc, uint32_t addr, uint8_t val) { // Unicorn: commented out //trace_cpu_out(addr, 'b', val); @@ -87,7 +87,7 @@ void cpu_outb(struct uc_struct *uc, pio_addr_t addr, uint8_t val) } } -void cpu_outw(struct uc_struct *uc, pio_addr_t addr, uint16_t val) +void cpu_outw(struct uc_struct *uc, uint32_t addr, uint16_t val) { // Unicorn: commented out //trace_cpu_out(addr, 'w', val); @@ -100,7 +100,7 @@ void cpu_outw(struct uc_struct *uc, pio_addr_t addr, uint16_t val) } } -void cpu_outl(struct uc_struct *uc, pio_addr_t addr, uint32_t val) +void cpu_outl(struct uc_struct *uc, uint32_t addr, uint32_t val) { // Unicorn: commented out //trace_cpu_out(addr, 'l', val); @@ -113,7 +113,7 @@ void cpu_outl(struct uc_struct *uc, pio_addr_t addr, uint32_t val) } } -uint8_t cpu_inb(struct uc_struct *uc, pio_addr_t addr) +uint8_t cpu_inb(struct uc_struct *uc, uint32_t addr) { // Unicorn: commented out //trace_cpu_in(addr, 'b', val); @@ -128,7 +128,7 @@ uint8_t cpu_inb(struct uc_struct *uc, pio_addr_t addr) return 0; } -uint16_t cpu_inw(struct uc_struct *uc, pio_addr_t addr) +uint16_t cpu_inw(struct uc_struct *uc, uint32_t addr) { // Unicorn: commented out //trace_cpu_in(addr, 'w', val); @@ -143,7 +143,7 @@ uint16_t cpu_inw(struct uc_struct *uc, pio_addr_t addr) return 0; } -uint32_t cpu_inl(struct uc_struct *uc, pio_addr_t addr) +uint32_t cpu_inl(struct uc_struct *uc, uint32_t addr) { // Unicorn: commented out //trace_cpu_in(addr, 'l', val);