diff --git a/hypervisor/arch/x86/guest/vlapic.c b/hypervisor/arch/x86/guest/vlapic.c index eab9a538c..2095a93c6 100644 --- a/hypervisor/arch/x86/guest/vlapic.c +++ b/hypervisor/arch/x86/guest/vlapic.c @@ -134,23 +134,6 @@ static uint16_t vm_apicid2vcpu_id(struct acrn_vm *vm, uint32_t lapicid) } -/* - * @pre vlapic != NULL - */ -static uint64_t -vm_active_cpus(const struct acrn_vm *vm) -{ - uint64_t dmask = 0UL; - uint16_t i; - const struct acrn_vcpu *vcpu; - - foreach_vcpu(i, vm, vcpu) { - bitmap_set_nolock(vcpu->vcpu_id, &dmask); - } - - return dmask; -} - /* * @pre vlapic != NULL */ diff --git a/hypervisor/include/arch/x86/guest/vm.h b/hypervisor/include/arch/x86/guest/vm.h index c6054ad3b..5e9be235f 100644 --- a/hypervisor/include/arch/x86/guest/vm.h +++ b/hypervisor/include/arch/x86/guest/vm.h @@ -14,6 +14,7 @@ #ifndef ASSEMBLER #include +#include #include #include #include @@ -211,6 +212,22 @@ struct acrn_vm_config { } __aligned(8); +/* + * @pre vlapic != NULL + */ +static inline uint64_t vm_active_cpus(const struct acrn_vm *vm) +{ + uint64_t dmask = 0UL; + uint16_t i; + const struct acrn_vcpu *vcpu; + + foreach_vcpu(i, vm, vcpu) { + bitmap_set_nolock(vcpu->vcpu_id, &dmask); + } + + return dmask; +} + /* * @pre vcpu_id < CONFIG_MAX_VCPUS_PER_VM */