46 lines
1.0 KiB
C
46 lines
1.0 KiB
C
/* 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 */
|