hv: add a flag for PMU passthrough to guest VM
Add a flag: GUEST_FLAG_PMU_PASSTHROUGH to indicate if PMU (Performance Monitor Unit) is passthrough to guest VM. Tracked-On: #6966 Acked-by: Anthony Xu <anthony.xu@intel.com> Signed-off-by: Minggui Cao <minggui.cao@intel.com>
This commit is contained in:
parent
3b1deda0eb
commit
299c56bb68
|
@ -146,6 +146,17 @@ bool is_lapic_pt_configured(const struct acrn_vm *vm)
|
|||
return ((vm_config->guest_flags & GUEST_FLAG_LAPIC_PASSTHROUGH) != 0U);
|
||||
}
|
||||
|
||||
/**
|
||||
* @pre vm != NULL && vm_config != NULL && vm->vmid < CONFIG_MAX_VM_NUM
|
||||
*/
|
||||
bool is_pmu_pt_configured(const struct acrn_vm *vm)
|
||||
{
|
||||
struct acrn_vm_config *vm_config = get_vm_config(vm->vm_id);
|
||||
|
||||
return ((vm_config->guest_flags & GUEST_FLAG_PMU_PASSTHROUGH) != 0U);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @pre vm != NULL && vm_config != NULL && vm->vmid < CONFIG_MAX_VM_NUM
|
||||
*/
|
||||
|
|
|
@ -255,6 +255,7 @@ int32_t prepare_os_image(struct acrn_vm *vm);
|
|||
void vrtc_init(struct acrn_vm *vm);
|
||||
|
||||
bool is_lapic_pt_configured(const struct acrn_vm *vm);
|
||||
bool is_pmu_pt_configured(const struct acrn_vm *vm);
|
||||
bool is_rt_vm(const struct acrn_vm *vm);
|
||||
bool is_stateful_vm(const struct acrn_vm *vm);
|
||||
bool is_nvmx_configured(const struct acrn_vm *vm);
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
#define DM_OWNED_GUEST_FLAG_MASK 0UL
|
||||
#else
|
||||
#define DM_OWNED_GUEST_FLAG_MASK (GUEST_FLAG_SECURE_WORLD_ENABLED | GUEST_FLAG_LAPIC_PASSTHROUGH \
|
||||
| GUEST_FLAG_RT | GUEST_FLAG_IO_COMPLETION_POLLING)
|
||||
| GUEST_FLAG_RT | GUEST_FLAG_IO_COMPLETION_POLLING | GUEST_FLAG_PMU_PASSTHROUGH)
|
||||
#endif
|
||||
|
||||
/* ACRN guest severity */
|
||||
|
|
|
@ -61,6 +61,8 @@
|
|||
#define GUEST_FLAG_STATIC_VM (1UL << 8U) /* Whether this VM uses static VM configuration */
|
||||
#define GUEST_FLAG_TEE (1UL << 9U) /* Whether the VM is TEE VM */
|
||||
#define GUEST_FLAG_REE (1UL << 10U) /* Whether the VM is REE VM */
|
||||
#define GUEST_FLAG_PMU_PASSTHROUGH (1UL << 11U) /* Whether PMU is passed through */
|
||||
|
||||
|
||||
/* TODO: We may need to get this addr from guest ACPI instead of hardcode here */
|
||||
#define VIRTUAL_SLEEP_CTL_ADDR 0x400U /* Pre-launched VM uses ACPI reduced HW mode and sleep control register */
|
||||
|
|
Loading…
Reference in New Issue