[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 4/4] x86: remove defunct init/load/save_msr() hvm_funcs
These hvm_funcs are no longer required since no MSR values are saved or restored by implementation-specific code. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: "Roger Pau Monné" <roger.pau@xxxxxxxxxx> v2: - Re-instate err check on loop in hvm_load_cpu_msrs() --- xen/arch/x86/hvm/hvm.c | 29 +++++++++-------------------- xen/include/asm-x86/hvm/hvm.h | 4 ---- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index deb7fb2adb..f84bf11f0f 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -1310,7 +1310,6 @@ static const uint32_t msrs_to_send[] = { MSR_AMD64_DR2_ADDRESS_MASK, MSR_AMD64_DR3_ADDRESS_MASK, }; -static unsigned int __read_mostly msr_count_max = ARRAY_SIZE(msrs_to_send); static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h) { @@ -1320,7 +1319,7 @@ static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h) int err; err = _hvm_init_entry(h, CPU_MSR_CODE, v->vcpu_id, - HVM_CPU_MSR_SIZE(msr_count_max)); + HVM_CPU_MSR_SIZE(ARRAY_SIZE(msrs_to_send))); if ( err ) return err; ctxt = (struct hvm_msr *)&h->data[h->cur]; @@ -1353,10 +1352,7 @@ static int hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h) ctxt->msr[ctxt->count++].val = val; } - if ( hvm_funcs.save_msr ) - hvm_funcs.save_msr(v, ctxt); - - ASSERT(ctxt->count <= msr_count_max); + ASSERT(ctxt->count <= ARRAY_SIZE(msrs_to_send)); for ( i = 0; i < ctxt->count; ++i ) ctxt->msr[i]._rsvd = 0; @@ -1431,9 +1427,6 @@ static int hvm_load_cpu_msrs(struct domain *d, hvm_domain_context_t *h) return -EOPNOTSUPP; /* Checking finished */ - if ( hvm_funcs.load_msr ) - err = hvm_funcs.load_msr(v, ctxt); - for ( i = 0; !err && i < ctxt->count; ++i ) { switch ( ctxt->msr[i].index ) @@ -1475,17 +1468,13 @@ static int __init hvm_register_CPU_save_and_restore(void) sizeof(struct hvm_save_descriptor), HVMSR_PER_VCPU); - if ( hvm_funcs.init_msr ) - msr_count_max += hvm_funcs.init_msr(); - - if ( msr_count_max ) - hvm_register_savevm(CPU_MSR_CODE, - "CPU_MSR", - hvm_save_cpu_msrs, - hvm_load_cpu_msrs, - HVM_CPU_MSR_SIZE(msr_count_max) + - sizeof(struct hvm_save_descriptor), - HVMSR_PER_VCPU); + hvm_register_savevm(CPU_MSR_CODE, + "CPU_MSR", + hvm_save_cpu_msrs, + hvm_load_cpu_msrs, + HVM_CPU_MSR_SIZE(ARRAY_SIZE(msrs_to_send)) + + sizeof(struct hvm_save_descriptor), + HVMSR_PER_VCPU); return 0; } diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index d41ed63232..a70fdbe298 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -115,10 +115,6 @@ struct hvm_function_table { void (*save_cpu_ctxt)(struct vcpu *v, struct hvm_hw_cpu *ctxt); int (*load_cpu_ctxt)(struct vcpu *v, struct hvm_hw_cpu *ctxt); - unsigned int (*init_msr)(void); - void (*save_msr)(struct vcpu *, struct hvm_msr *); - int (*load_msr)(struct vcpu *, struct hvm_msr *); - /* Examine specifics of the guest state. */ unsigned int (*get_interrupt_shadow)(struct vcpu *v); void (*set_interrupt_shadow)(struct vcpu *v, unsigned int intr_shadow); -- 2.20.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |