mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
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:
parent
3299397760
commit
d56dd6cf03
5 changed files with 16 additions and 15 deletions
12
hw/apb_pci.c
12
hw/apb_pci.c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
4
ioport.c
4
ioport.c
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1
ioport.h
1
ioport.h
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue