1 /* 2 * Copyright (C) 2018-2022 Intel Corporation. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef VCPUID_H_ 8 #define VCPUID_H_ 9 10 #define CPUID_CHECK_SUBLEAF (1U << 0U) 11 #define MAX_VM_VCPUID_ENTRIES 64U 12 13 /* Guest capability flags reported by CPUID */ 14 #define GUEST_CAPS_PRIVILEGE_VM (1U << 0U) 15 16 struct vcpuid_entry { 17 uint32_t eax; 18 uint32_t ebx; 19 uint32_t ecx; 20 uint32_t edx; 21 uint32_t leaf; 22 uint32_t subleaf; 23 uint32_t flags; 24 uint32_t padding; 25 }; 26 27 int32_t set_vcpuid_entries(struct acrn_vm *vm); 28 void guest_cpuid(struct acrn_vcpu *vcpu, 29 uint32_t *eax, uint32_t *ebx, 30 uint32_t *ecx, uint32_t *edx); 31 32 #endif /* VCPUID_H_ */ 33