]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
x86/hvm: Drop hvm_set_mode() and associated vmx hooks
authorAndrew Cooper <andrew.cooper3@citrix.com>
Sat, 27 Jan 2018 21:09:10 +0000 (21:09 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 30 Jan 2018 10:28:59 +0000 (10:28 +0000)
This is more vestigial rementants of PVHv1.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
xen/arch/x86/hvm/hvm.c
xen/arch/x86/hvm/vmx/vmx.c
xen/include/asm-x86/hvm/hvm.h

index c4287a35e84f50e42d4ee673493a0a1c7f3f692c..8d67851d69192b7d0b59f3215fe29e7d405090c7 100644 (file)
@@ -4848,29 +4848,6 @@ void hvm_toggle_singlestep(struct vcpu *v)
     v->arch.hvm_vcpu.single_step = !v->arch.hvm_vcpu.single_step;
 }
 
-int hvm_set_mode(struct vcpu *v, int mode)
-{
-
-    switch ( mode )
-    {
-    case 4:
-        v->arch.hvm_vcpu.guest_efer &= ~(EFER_LMA | EFER_LME);
-        break;
-    case 8:
-        v->arch.hvm_vcpu.guest_efer |= (EFER_LMA | EFER_LME);
-        break;
-    default:
-        return -EOPNOTSUPP;
-    }
-
-    hvm_update_guest_efer(v);
-
-    if ( hvm_funcs.set_mode )
-        return hvm_funcs.set_mode(v, mode);
-
-    return 0;
-}
-
 void hvm_domain_soft_reset(struct domain *d)
 {
     hvm_destroy_all_ioreq_servers(d);
index 1546c2a1e7ff31fb6467c9b51d76c4cb749dbeeb..3dc6a6d96a19679fa289b0210f83452d3bf496a6 100644 (file)
@@ -2277,21 +2277,6 @@ static bool_t vmx_vcpu_emulate_ve(struct vcpu *v)
     return rc;
 }
 
-static int vmx_set_mode(struct vcpu *v, int mode)
-{
-    unsigned long attr;
-
-    ASSERT((mode == 4) || (mode == 8));
-
-    attr = (mode == 4) ? 0xc09b : 0xa09b;
-
-    vmx_vmcs_enter(v);
-    __vmwrite(GUEST_CS_AR_BYTES, attr);
-    vmx_vmcs_exit(v);
-
-    return 0;
-}
-
 static bool vmx_get_pending_event(struct vcpu *v, struct x86_event *info)
 {
     unsigned long intr_info, error_code;
@@ -2373,7 +2358,6 @@ static struct hvm_function_table __initdata vmx_function_table = {
     .nhvm_hap_walk_L1_p2m = nvmx_hap_walk_L1_p2m,
     .enable_msr_interception = vmx_enable_msr_interception,
     .is_singlestep_supported = vmx_is_singlestep_supported,
-    .set_mode = vmx_set_mode,
     .altp2m_vcpu_update_p2m = vmx_vcpu_update_eptp,
     .altp2m_vcpu_update_vmfunc_ve = vmx_vcpu_update_vmfunc_ve,
     .altp2m_vcpu_emulate_ve = vmx_vcpu_emulate_ve,
index 7275c65d074339b5e4fa62ceeacd3528669c3f14..dd3dd5f0eefab7572c61c73b5b46a431637f9697 100644 (file)
@@ -206,7 +206,6 @@ struct hvm_function_table {
 
     void (*enable_msr_interception)(struct domain *d, uint32_t msr);
     bool_t (*is_singlestep_supported)(void);
-    int (*set_mode)(struct vcpu *v, int mode);
 
     /* Alternate p2m */
     void (*altp2m_vcpu_update_p2m)(struct vcpu *v);
@@ -268,7 +267,6 @@ u64 hvm_get_guest_tsc_fixed(struct vcpu *v, u64 at_tsc);
 u64 hvm_scale_tsc(const struct domain *d, u64 tsc);
 u64 hvm_get_tsc_scaling_ratio(u32 gtsc_khz);
 
-int hvm_set_mode(struct vcpu *v, int mode);
 void hvm_init_guest_time(struct domain *d);
 void hvm_set_guest_time(struct vcpu *v, u64 guest_time);
 u64 hvm_get_guest_time_fixed(struct vcpu *v, u64 at_tsc);