mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-09 20:59:03 +00:00
hv: emulate IA32_TSC_ADJUST MSR
Intercept IA32_TSC_ADJUST MSR so that writing IA32_TSC_ADJUST from the guests won't impact the TSC in root mode or potentially other vCPUs in the same pCPU. - MSR TSC_ADJUST needs to be isolated between normal and secure world, so it's included in NUM_WORLD_MSRS. - Upon writing to either IA32_TSC_ADJUST or IA32_TSC from the guests, don't write to physical MSRS so it won't impact the host side, but update the TSC offset VM-execution control. - don't need to intercept rdmsr for IA32_TIME_STAMP_COUNTER. - add the missing statement in save_world_ctx() to save the tsc_offset during world switch. Tracked-On: #1867 Signed-off-by: Zide Chen <zide.chen@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
@@ -165,7 +165,7 @@ struct ext_context {
|
||||
#define NORMAL_WORLD 0
|
||||
#define SECURE_WORLD 1
|
||||
|
||||
#define NUM_WORLD_MSRS 1U
|
||||
#define NUM_WORLD_MSRS 2U
|
||||
#define NUM_COMMON_MSRS 6U
|
||||
#define NUM_GUEST_MSRS (NUM_WORLD_MSRS + NUM_COMMON_MSRS)
|
||||
|
||||
|
Reference in New Issue
Block a user