// SPDX-License-Identifier: GPL-2.0 /* * Test that KVM_GET_MSR_INDEX_LIST and * KVM_GET_MSR_FEATURE_INDEX_LIST work as intended * * Copyright (C) 2020, Red Hat, Inc. */ #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include "test_util.h" #include "kvm_util.h" #include "processor.h" int main(int argc, char *argv[]) { const struct kvm_msr_list *feature_list; int i; /* * Skip the entire test if MSR_FEATURES isn't supported, other tests * will cover the "regular" list of MSRs, the coverage here is purely * opportunistic and not interesting on its own. */ TEST_REQUIRE(kvm_has_cap(KVM_CAP_GET_MSR_FEATURES)); (void)kvm_get_msr_index_list(); feature_list = kvm_get_feature_msr_index_list(); for (i = 0; i < feature_list->nmsrs; i++) kvm_get_feature_msr(feature_list->indices[i]); }