use constant IOPORTS_MASK instead of 0xffff.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Isaku Yamahata 2009-07-02 19:32:07 +09:00 committed by Anthony Liguori
parent 3299397760
commit d56dd6cf03
5 changed files with 16 additions and 15 deletions

View file

@ -148,26 +148,26 @@ static CPUReadMemoryFunc *pci_apb_read[] = {
static void pci_apb_iowriteb (void *opaque, target_phys_addr_t addr, static void pci_apb_iowriteb (void *opaque, target_phys_addr_t addr,
uint32_t val) uint32_t val)
{ {
cpu_outb(NULL, addr & 0xffff, val); cpu_outb(NULL, addr & IOPORTS_MASK, val);
} }
static void pci_apb_iowritew (void *opaque, target_phys_addr_t addr, static void pci_apb_iowritew (void *opaque, target_phys_addr_t addr,
uint32_t val) uint32_t val)
{ {
cpu_outw(NULL, addr & 0xffff, val); cpu_outw(NULL, addr & IOPORTS_MASK, val);
} }
static void pci_apb_iowritel (void *opaque, target_phys_addr_t addr, static void pci_apb_iowritel (void *opaque, target_phys_addr_t addr,
uint32_t val) uint32_t val)
{ {
cpu_outl(NULL, addr & 0xffff, val); cpu_outl(NULL, addr & IOPORTS_MASK, val);
} }
static uint32_t pci_apb_ioreadb (void *opaque, target_phys_addr_t addr) static uint32_t pci_apb_ioreadb (void *opaque, target_phys_addr_t addr)
{ {
uint32_t val; uint32_t val;
val = cpu_inb(NULL, addr & 0xffff); val = cpu_inb(NULL, addr & IOPORTS_MASK);
return val; return val;
} }
@ -175,7 +175,7 @@ static uint32_t pci_apb_ioreadw (void *opaque, target_phys_addr_t addr)
{ {
uint32_t val; uint32_t val;
val = cpu_inw(NULL, addr & 0xffff); val = cpu_inw(NULL, addr & IOPORTS_MASK);
return val; return val;
} }
@ -183,7 +183,7 @@ static uint32_t pci_apb_ioreadl (void *opaque, target_phys_addr_t addr)
{ {
uint32_t val; uint32_t val;
val = cpu_inl(NULL, addr & 0xffff); val = cpu_inl(NULL, addr & IOPORTS_MASK);
return val; return val;
} }

View file

@ -28,7 +28,7 @@
static void isa_mmio_writeb (void *opaque, target_phys_addr_t addr, static void isa_mmio_writeb (void *opaque, target_phys_addr_t addr,
uint32_t val) uint32_t val)
{ {
cpu_outb(NULL, addr & 0xffff, val); cpu_outb(NULL, addr & IOPORTS_MASK, val);
} }
static void isa_mmio_writew (void *opaque, target_phys_addr_t addr, static void isa_mmio_writew (void *opaque, target_phys_addr_t addr,
@ -37,7 +37,7 @@ static void isa_mmio_writew (void *opaque, target_phys_addr_t addr,
#ifdef TARGET_WORDS_BIGENDIAN #ifdef TARGET_WORDS_BIGENDIAN
val = bswap16(val); val = bswap16(val);
#endif #endif
cpu_outw(NULL, addr & 0xffff, val); cpu_outw(NULL, addr & IOPORTS_MASK, val);
} }
static void isa_mmio_writel (void *opaque, target_phys_addr_t addr, static void isa_mmio_writel (void *opaque, target_phys_addr_t addr,
@ -46,14 +46,14 @@ static void isa_mmio_writel (void *opaque, target_phys_addr_t addr,
#ifdef TARGET_WORDS_BIGENDIAN #ifdef TARGET_WORDS_BIGENDIAN
val = bswap32(val); val = bswap32(val);
#endif #endif
cpu_outl(NULL, addr & 0xffff, val); cpu_outl(NULL, addr & IOPORTS_MASK, val);
} }
static uint32_t isa_mmio_readb (void *opaque, target_phys_addr_t addr) static uint32_t isa_mmio_readb (void *opaque, target_phys_addr_t addr)
{ {
uint32_t val; uint32_t val;
val = cpu_inb(NULL, addr & 0xffff); val = cpu_inb(NULL, addr & IOPORTS_MASK);
return val; return val;
} }
@ -61,7 +61,7 @@ static uint32_t isa_mmio_readw (void *opaque, target_phys_addr_t addr)
{ {
uint32_t val; uint32_t val;
val = cpu_inw(NULL, addr & 0xffff); val = cpu_inw(NULL, addr & IOPORTS_MASK);
#ifdef TARGET_WORDS_BIGENDIAN #ifdef TARGET_WORDS_BIGENDIAN
val = bswap16(val); val = bswap16(val);
#endif #endif
@ -72,7 +72,7 @@ static uint32_t isa_mmio_readl (void *opaque, target_phys_addr_t addr)
{ {
uint32_t val; uint32_t val;
val = cpu_inl(NULL, addr & 0xffff); val = cpu_inl(NULL, addr & IOPORTS_MASK);
#ifdef TARGET_WORDS_BIGENDIAN #ifdef TARGET_WORDS_BIGENDIAN
val = bswap32(val); val = bswap32(val);
#endif #endif

View file

@ -94,7 +94,7 @@ static uint32_t default_ioport_readw(void *opaque, uint32_t address)
{ {
uint32_t data; uint32_t data;
data = ioport_read(0, address); data = ioport_read(0, address);
address = (address + 1) & (MAX_IOPORTS - 1); address = (address + 1) & IOPORTS_MASK;
data |= ioport_read(0, address) << 8; data |= ioport_read(0, address) << 8;
return data; return data;
} }
@ -102,7 +102,7 @@ static uint32_t default_ioport_readw(void *opaque, uint32_t address)
static void default_ioport_writew(void *opaque, uint32_t address, uint32_t data) static void default_ioport_writew(void *opaque, uint32_t address, uint32_t data)
{ {
ioport_write(0, address, data & 0xff); ioport_write(0, address, data & 0xff);
address = (address + 1) & (MAX_IOPORTS - 1); address = (address + 1) & IOPORTS_MASK;
ioport_write(0, address, (data >> 8) & 0xff); ioport_write(0, address, (data >> 8) & 0xff);
} }

View file

@ -28,6 +28,7 @@
#include "qemu-common.h" #include "qemu-common.h"
#define MAX_IOPORTS (64 * 1024) #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. */ /* 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 void (IOPortWriteFunc)(void *opaque, uint32_t address, uint32_t data);

View file

@ -1161,7 +1161,7 @@ static void do_ioport_read(Monitor *mon, int count, int format, int size,
int suffix; int suffix;
if (has_index) { if (has_index) {
cpu_outb(NULL, addr & 0xffff, index & 0xff); cpu_outb(NULL, addr & IOPORTS_MASK, index & 0xff);
addr++; addr++;
} }
addr &= 0xffff; addr &= 0xffff;