Exemple #1
0
static unsigned long get_nsec_offset(void)
{
	uint64_t tsc, delta;
    rdtscll(tsc);
    delta = tsc - shadow.tsc_timestamp;
    return scale_delta(delta, shadow.tsc_to_system_mul, shadow.tsc_shift);
}
Exemple #2
0
static int64_t raw_trc_val(struct domain *d)
{
    uint64_t tsc;
    struct time_scale tsc_to_ns;

    tsc = hvm_get_guest_tsc(pt_global_vcpu_target(d));

    /* convert tsc to count of 100ns periods */
    set_time_scale(&tsc_to_ns, d->arch.tsc_khz * 1000ul);
    return scale_delta(tsc, &tsc_to_ns) / 100ul;
}