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
This commit is contained in:
Paolo Bonzini 2018-02-24 02:43:09 -05:00 committed by Lioncash
parent 9485b7c2e1
commit d0d3712417
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7
2 changed files with 12 additions and 15 deletions

View file

@ -28,9 +28,6 @@
#include "qom/object.h" #include "qom/object.h"
#include "exec/memory.h" #include "exec/memory.h"
typedef uint32_t pio_addr_t;
#define FMT_pioaddr PRIx32
#define MAX_IOPORTS (64 * 1024) #define MAX_IOPORTS (64 * 1024)
#define IOPORTS_MASK (MAX_IOPORTS - 1) #define IOPORTS_MASK (MAX_IOPORTS - 1)
@ -49,11 +46,11 @@ typedef struct MemoryRegionPortio {
extern const MemoryRegionOps unassigned_io_ops; extern const MemoryRegionOps unassigned_io_ops;
#endif #endif
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);
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);
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);
uint8_t cpu_inb(struct uc_struct *uc, pio_addr_t addr); uint8_t cpu_inb(struct uc_struct *uc, uint32_t addr);
uint16_t cpu_inw(struct uc_struct *uc, pio_addr_t addr); uint16_t cpu_inw(struct uc_struct *uc, uint32_t addr);
uint32_t cpu_inl(struct uc_struct *uc, pio_addr_t addr); uint32_t cpu_inl(struct uc_struct *uc, uint32_t addr);
#endif /* IOPORT_H */ #endif /* IOPORT_H */

View file

@ -74,7 +74,7 @@ const MemoryRegionOps unassigned_io_ops = {
DEVICE_NATIVE_ENDIAN, 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 // Unicorn: commented out
//trace_cpu_out(addr, 'b', val); //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 // Unicorn: commented out
//trace_cpu_out(addr, 'w', val); //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 // Unicorn: commented out
//trace_cpu_out(addr, 'l', val); //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 // Unicorn: commented out
//trace_cpu_in(addr, 'b', val); //trace_cpu_in(addr, 'b', val);
@ -128,7 +128,7 @@ uint8_t cpu_inb(struct uc_struct *uc, pio_addr_t addr)
return 0; 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 // Unicorn: commented out
//trace_cpu_in(addr, 'w', val); //trace_cpu_in(addr, 'w', val);
@ -143,7 +143,7 @@ uint16_t cpu_inw(struct uc_struct *uc, pio_addr_t addr)
return 0; 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 // Unicorn: commented out
//trace_cpu_in(addr, 'l', val); //trace_cpu_in(addr, 'l', val);