Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/testing/selftests/kvm/include/timer_test.h
38235 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*
3
* timer test specific header
4
*
5
* Copyright (C) 2018, Google LLC
6
*/
7
8
#ifndef SELFTEST_KVM_TIMER_TEST_H
9
#define SELFTEST_KVM_TIMER_TEST_H
10
11
#include "kvm_util.h"
12
13
#define NR_VCPUS_DEF 4
14
#define NR_TEST_ITERS_DEF 5
15
#define TIMER_TEST_PERIOD_MS_DEF 10
16
#define TIMER_TEST_ERR_MARGIN_US 100
17
#define TIMER_TEST_MIGRATION_FREQ_MS 2
18
19
/* Timer test cmdline parameters */
20
struct test_args {
21
uint32_t nr_vcpus;
22
uint32_t nr_iter;
23
uint32_t timer_period_ms;
24
uint32_t migration_freq_ms;
25
uint32_t timer_err_margin_us;
26
/* Members of struct kvm_arm_counter_offset */
27
uint64_t counter_offset;
28
uint64_t reserved;
29
};
30
31
/* Shared variables between host and guest */
32
struct test_vcpu_shared_data {
33
uint32_t nr_iter;
34
int guest_stage;
35
uint64_t xcnt;
36
};
37
38
extern struct test_args test_args;
39
extern struct kvm_vcpu *vcpus[];
40
extern struct test_vcpu_shared_data vcpu_shared_data[];
41
42
struct kvm_vm *test_vm_create(void);
43
void test_vm_cleanup(struct kvm_vm *vm);
44
45
#endif /* SELFTEST_KVM_TIMER_TEST_H */
46
47