コード例 #1
0
ファイル: pl061.c プロジェクト: astarasikov/qemu
static void pl061_write(void *opaque, target_phys_addr_t offset,
                        uint32_t value)
{
    pl061_state *s = (pl061_state *)opaque;
    uint8_t mask;

    if (offset < 0x400) {
        mask = (offset >> 2) & s->dir;
        s->data = (s->data & ~mask) | (value & mask);
        pl061_update(s);
        return;
    }
コード例 #2
0
ファイル: pl061.c プロジェクト: AjayMashi/x-tier
static void pl061_write(void *opaque, hwaddr offset,
                        uint64_t value, unsigned size)
{
    pl061_state *s = (pl061_state *)opaque;
    uint8_t mask;

    if (offset < 0x400) {
        mask = (offset >> 2) & s->dir;
        s->data = (s->data & ~mask) | (value & mask);
        pl061_update(s);
        return;
    }
コード例 #3
0
ファイル: pl061.c プロジェクト: liunx/Virtual-devices
static void pl061_write(void *opaque, target_phys_addr_t offset,
                        uint32_t value)
{
    pl061_state *s = (pl061_state *)opaque;
    uint8_t mask;

//    fprintf(stdout, "pl061_write: opaque = 0x%lx\n", (unsigned long)opaque);
//    fprintf(stdout, "pl061_write offset: 0x%x, value: 0x%x\n", offset, value);
    if (offset < 0x400) {
        mask = (offset >> 2) & s->dir;
        s->data = (s->data & ~mask) | (value & mask);
        pl061_update(s);
        return;
    }