mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 02:03:56 -06:00
kvm: migrate vPMU state
Reviewed-by: Gleb Natapov <gnatapov@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
e4a09c9637
commit
0d89436786
3 changed files with 155 additions and 5 deletions
|
@ -305,6 +305,8 @@
|
|||
#define MSR_TSC_ADJUST 0x0000003b
|
||||
#define MSR_IA32_TSCDEADLINE 0x6e0
|
||||
|
||||
#define MSR_P6_PERFCTR0 0xc1
|
||||
|
||||
#define MSR_MTRRcap 0xfe
|
||||
#define MSR_MTRRcap_VCNT 8
|
||||
#define MSR_MTRRcap_FIXRANGE_SUPPORT (1 << 8)
|
||||
|
@ -318,6 +320,8 @@
|
|||
#define MSR_MCG_STATUS 0x17a
|
||||
#define MSR_MCG_CTL 0x17b
|
||||
|
||||
#define MSR_P6_EVNTSEL0 0x186
|
||||
|
||||
#define MSR_IA32_PERF_STATUS 0x198
|
||||
|
||||
#define MSR_IA32_MISC_ENABLE 0x1a0
|
||||
|
@ -343,6 +347,14 @@
|
|||
|
||||
#define MSR_MTRRdefType 0x2ff
|
||||
|
||||
#define MSR_CORE_PERF_FIXED_CTR0 0x309
|
||||
#define MSR_CORE_PERF_FIXED_CTR1 0x30a
|
||||
#define MSR_CORE_PERF_FIXED_CTR2 0x30b
|
||||
#define MSR_CORE_PERF_FIXED_CTR_CTRL 0x38d
|
||||
#define MSR_CORE_PERF_GLOBAL_STATUS 0x38e
|
||||
#define MSR_CORE_PERF_GLOBAL_CTRL 0x38f
|
||||
#define MSR_CORE_PERF_GLOBAL_OVF_CTRL 0x390
|
||||
|
||||
#define MSR_MC0_CTL 0x400
|
||||
#define MSR_MC0_STATUS 0x401
|
||||
#define MSR_MC0_ADDR 0x402
|
||||
|
@ -721,6 +733,9 @@ typedef struct {
|
|||
#define CPU_NB_REGS CPU_NB_REGS32
|
||||
#endif
|
||||
|
||||
#define MAX_FIXED_COUNTERS 3
|
||||
#define MAX_GP_COUNTERS (MSR_IA32_PERF_STATUS - MSR_P6_EVNTSEL0)
|
||||
|
||||
#define NB_MMU_MODES 3
|
||||
|
||||
typedef enum TPRAccess {
|
||||
|
@ -816,6 +831,14 @@ typedef struct CPUX86State {
|
|||
uint64_t msr_ia32_misc_enable;
|
||||
uint64_t msr_ia32_feature_control;
|
||||
|
||||
uint64_t msr_fixed_ctr_ctrl;
|
||||
uint64_t msr_global_ctrl;
|
||||
uint64_t msr_global_status;
|
||||
uint64_t msr_global_ovf_ctrl;
|
||||
uint64_t msr_fixed_counters[MAX_FIXED_COUNTERS];
|
||||
uint64_t msr_gp_counters[MAX_GP_COUNTERS];
|
||||
uint64_t msr_gp_evtsel[MAX_GP_COUNTERS];
|
||||
|
||||
/* exception/interrupt handling */
|
||||
int error_code;
|
||||
int exception_is_int;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue