| /* 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 { | |
| uint32_t nr_vcpus; | |
| uint32_t nr_iter; | |
| uint32_t timer_period_ms; | |
| uint32_t migration_freq_ms; | |
| uint32_t timer_err_margin_us; | |
| /* Members of struct kvm_arm_counter_offset */ | |
| uint64_t counter_offset; | |
| uint64_t reserved; | |
| }; | |
| /* Shared variables between host and guest */ | |
| struct test_vcpu_shared_data { | |
| uint32_t nr_iter; | |
| int guest_stage; | |
| uint64_t 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 */ |