| /* SPDX-License-Identifier: GPL-2.0-only */ | |
| /* | |
| * timer test specific header | |
| * | |
| * Copyright (C) 2018, Google LLC | |
| */ | |
| #ifndef SELFTEST_KVM_TIMER_TEST_H | |
| #define SELFTEST_KVM_TIMER_TEST_H | |
| #include "kvm_util.h" | |
| #define NR_VCPUS_DEF 4 | |
| #define NR_TEST_ITERS_DEF 5 | |
| #define TIMER_TEST_PERIOD_MS_DEF 10 | |
| #define TIMER_TEST_ERR_MARGIN_US 100 | |
| #define TIMER_TEST_MIGRATION_FREQ_MS 2 | |
| /* Timer test cmdline parameters */ | |
| struct test_args { | |
| u32 nr_vcpus; | |
| u32 nr_iter; | |
| u32 timer_period_ms; | |
| u32 migration_freq_ms; | |
| u32 timer_err_margin_us; | |
| /* Members of struct kvm_arm_counter_offset */ | |
| u64 counter_offset; | |
| u64 reserved; | |
| }; | |
| /* Shared variables between host and guest */ | |
| struct test_vcpu_shared_data { | |
| u32 nr_iter; | |
| int guest_stage; | |
| u64 xcnt; | |
| }; | |
| extern struct test_args test_args; | |
| extern struct kvm_vcpu *vcpus[]; | |
| extern struct test_vcpu_shared_data vcpu_shared_data[]; | |
| struct kvm_vm *test_vm_create(void); | |
| void test_vm_cleanup(struct kvm_vm *vm); | |
| #endif /* SELFTEST_KVM_TIMER_TEST_H */ |