void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)

{

    RAMBlock *block;



    rcu_read_lock();

    QLIST_FOREACH_RCU(block, &ram_list.blocks, next) {

        func(block->host, block->offset, block->used_length, opaque);

    }

    rcu_read_unlock();

}

void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)

{

    RAMBlock *block;



    rcu_read_lock();

    QLIST_FOREACH_RCU(block, &ram_list.blocks, next) {

        func(block->host, block->offset, block->used_length, opaque);

    }

    rcu_read_unlock();

}

void FUNC_0(RAMBlockIterFunc VAR_0, void *VAR_1)

{

    RAMBlock *block;



    rcu_read_lock();

    QLIST_FOREACH_RCU(block, &ram_list.blocks, next) {

        VAR_0(block->host, block->offset, block->used_length, VAR_1);

    }

    rcu_read_unlock();

}

void FUNC_0(RAMBlockIterFunc VAR_0, void *VAR_1)
{ RAMBlock *block; rcu_read_lock(); QLIST_FOREACH_RCU(block, &ram_list.blocks, next) { VAR_0(block->host, block->offset, block->used_length, VAR_1); } rcu_read_unlock(); }