示例#1
0
static uint32_t dp8393x_readl(void *opaque, target_phys_addr_t addr)
{
    uint32_t v;
    v = dp8393x_readw(opaque, addr);
    v |= dp8393x_readw(opaque, addr + 2) << 16;
    return v;
}
示例#2
0
static uint32_t dp8393x_readl(void *opaque, hwaddr addr)
{
    uint32_t v;
    v = dp8393x_readw(opaque, addr);
    v |= dp8393x_readw(opaque, addr + 2) << 16;
    return v;
}
示例#3
0
static void dp8393x_writeb(void *opaque, target_phys_addr_t addr, uint32_t val)
{
    uint16_t old_val = dp8393x_readw(opaque, addr & ~0x1);

    switch (addr & 3) {
    case 0:
        val = val | (old_val & 0xff00);
        break;
    case 1:
        val = (val << 8) | (old_val & 0x00ff);
        break;
    }
    dp8393x_writew(opaque, addr & ~0x1, val);
}
示例#4
0
static uint32_t dp8393x_readb(void *opaque, target_phys_addr_t addr)
{
    uint16_t v = dp8393x_readw(opaque, addr & ~0x1);
    return (v >> (8 * (addr & 0x1))) & 0xff;
}
示例#5
0
static uint32_t dp8393x_readb(void *opaque, hwaddr addr)
{
    uint16_t v = dp8393x_readw(opaque, addr & ~0x1);
    return (v >> (8 * (addr & 0x1))) & 0xff;
}