Re: [Xen-devel] [PATCH] x86/hvm: Drop hvm_set_mode() and associated vmx hooks

2018-01-30 Thread Tian, Kevin
> From: Andrew Cooper [mailto:andrew.coop...@citrix.com]
> Sent: Tuesday, January 30, 2018 12:11 AM
> 
> This is more vestigial rementants of PVHv1.
> 
> Signed-off-by: Andrew Cooper 

Reviewed-by: Kevin Tian 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/hvm: Drop hvm_set_mode() and associated vmx hooks

2018-01-29 Thread Roger Pau Monné
On Mon, Jan 29, 2018 at 04:10:32PM +, Andrew Cooper wrote:
> This is more vestigial rementants of PVHv1.
> 
> Signed-off-by: Andrew Cooper 

Oh, thanks! It's amazing how many leftovers we are still finding from
PVHv1.

Reviewed-by: Roger Pau Monné 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86/hvm: Drop hvm_set_mode() and associated vmx hooks

2018-01-29 Thread Jan Beulich
>>> On 29.01.18 at 17:10,  wrote:
> This is more vestigial rementants of PVHv1.
> 
> Signed-off-by: Andrew Cooper 
> ---
> CC: Jan Beulich 
> CC: Jun Nakajima 
> CC: Kevin Tian 
> ---
>  xen/arch/x86/hvm/hvm.c| 23 ---
>  xen/arch/x86/hvm/vmx/vmx.c| 16 
>  xen/include/asm-x86/hvm/hvm.h |  2 --
>  3 files changed, 41 deletions(-)

Very nice.

Reviewed-by: Jan Beulich 


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH] x86/hvm: Drop hvm_set_mode() and associated vmx hooks

2018-01-29 Thread Andrew Cooper
This is more vestigial rementants of PVHv1.

Signed-off-by: Andrew Cooper 
---
CC: Jan Beulich 
CC: Jun Nakajima 
CC: Kevin Tian 
---
 xen/arch/x86/hvm/hvm.c| 23 ---
 xen/arch/x86/hvm/vmx/vmx.c| 16 
 xen/include/asm-x86/hvm/hvm.h |  2 --
 3 files changed, 41 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index c4287a3..8d67851 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -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);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1546c2a..3dc6a6d 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -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,
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index 7275c65..dd3dd5f 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -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);
-- 
2.1.4


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel