[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 14/24] x86/vmx: Use hvm_{get, set}_segment_register() rather than vmx_{get, set}_segment_register()
No functional change at this point, but this is a prerequisite for forthcoming functional changes. Make vmx_get_segment_register() private to vmx.c like all the other Vendor get/set functions. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxx> Acked-by: Kevin Tian <kevin.tian@xxxxxxxxx> --- xen/arch/x86/hvm/vmx/vmx.c | 14 +++++++------- xen/arch/x86/hvm/vmx/vvmx.c | 6 +++--- xen/include/asm-x86/hvm/vmx/vmx.h | 2 -- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 31f08d2..377c789 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -940,8 +940,8 @@ static void vmx_ctxt_switch_to(struct vcpu *v) .fields = { .type = 0xb, .s = 0, .dpl = 0, .p = 1, .avl = 0, \ .l = 0, .db = 0, .g = 0, .pad = 0 } }).bytes) -void vmx_get_segment_register(struct vcpu *v, enum x86_segment seg, - struct segment_register *reg) +static void vmx_get_segment_register(struct vcpu *v, enum x86_segment seg, + struct segment_register *reg) { unsigned long attr = 0, sel = 0, limit; @@ -1504,19 +1504,19 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr) * Need to read them all either way, as realmode reads can update * the saved values we'll use when returning to prot mode. */ for ( s = 0; s < ARRAY_SIZE(reg); s++ ) - vmx_get_segment_register(v, s, ®[s]); + hvm_get_segment_register(v, s, ®[s]); v->arch.hvm_vmx.vmx_realmode = realmode; if ( realmode ) { for ( s = 0; s < ARRAY_SIZE(reg); s++ ) - vmx_set_segment_register(v, s, ®[s]); + hvm_set_segment_register(v, s, ®[s]); } else { for ( s = 0; s < ARRAY_SIZE(reg); s++ ) if ( !(v->arch.hvm_vmx.vm86_segment_mask & (1<<s)) ) - vmx_set_segment_register( + hvm_set_segment_register( v, s, &v->arch.hvm_vmx.vm86_saved_seg[s]); } @@ -3907,7 +3907,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs) gdprintk(XENLOG_WARNING, "Bad vmexit (reason %#lx)\n", exit_reason); - vmx_get_segment_register(v, x86_seg_ss, &ss); + hvm_get_segment_register(v, x86_seg_ss, &ss); if ( ss.attr.fields.dpl ) hvm_inject_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC); @@ -3939,7 +3939,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs) gprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode); - vmx_get_segment_register(v, x86_seg_ss, &ss); + hvm_get_segment_register(v, x86_seg_ss, &ss); if ( ss.attr.fields.dpl ) { __vmread(VM_ENTRY_INTR_INFO, &intr_info); diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index efaf54c..bcc4a97 100644 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -360,7 +360,7 @@ static int vmx_inst_check_privilege(struct cpu_user_regs *regs, int vmxop_check) else if ( !vcpu_2_nvmx(v).vmxon_region_pa ) goto invalid_op; - vmx_get_segment_register(v, x86_seg_cs, &cs); + hvm_get_segment_register(v, x86_seg_cs, &cs); if ( (regs->eflags & X86_EFLAGS_VM) || (hvm_long_mode_enabled(v) && cs.attr.fields.l == 0) ) @@ -419,13 +419,13 @@ static int decode_vmx_inst(struct cpu_user_regs *regs, if ( hvm_long_mode_enabled(v) ) { - vmx_get_segment_register(v, x86_seg_cs, &seg); + hvm_get_segment_register(v, x86_seg_cs, &seg); mode_64bit = seg.attr.fields.l; } if ( info.fields.segment > VMX_SREG_GS ) goto gp_fault; - vmx_get_segment_register(v, sreg_to_index[info.fields.segment], &seg); + hvm_get_segment_register(v, sreg_to_index[info.fields.segment], &seg); seg_base = seg.base; base = info.fields.base_reg_invalid ? 0 : diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h index 4cdd9b1..0e5902d 100644 --- a/xen/include/asm-x86/hvm/vmx/vmx.h +++ b/xen/include/asm-x86/hvm/vmx/vmx.h @@ -550,8 +550,6 @@ static inline int __vmxon(u64 addr) return rc; } -void vmx_get_segment_register(struct vcpu *, enum x86_segment, - struct segment_register *); void vmx_inject_extint(int trap, uint8_t source); void vmx_inject_nmi(void); -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |