vcpu_ptimer
timer_set_offset(vcpu_ptimer(vcpu), 0);
map->emul_ptimer = vcpu_ptimer(vcpu);
map->direct_ptimer = vcpu_ptimer(vcpu);
timer = vcpu_ptimer(vcpu);
map->direct_ptimer = vcpu_ptimer(vcpu);
map->emul_ptimer = vcpu_ptimer(vcpu);
struct arch_timer_context *ptimer = vcpu_ptimer(vcpu);
(ctx == vcpu_vtimer(vcpu) || ctx == vcpu_ptimer(vcpu))) {
struct arch_timer_context *ptimer = vcpu_ptimer(vcpu);
ctxt = vcpu_ptimer(vcpu);
if (map.direct_ptimer == vcpu_ptimer(vcpu))
if (map.direct_ptimer == vcpu_ptimer(vcpu))
cnt = compute_counter_value(vcpu_ptimer(vcpu));
timer_set_offset(vcpu_ptimer(vcpu), kvm_phys_timer_read() - val);
*val = kvm_phys_timer_read() - timer_get_offset(vcpu_ptimer(vcpu));