[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 3/3] x86: avoid FS/GS base reads when possible
They're being zeroed a few lines down when non-null selectors are being found in the respective registers. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -1449,10 +1449,11 @@ static void save_segments(struct vcpu *v if ( cpu_has_fsgsbase && !is_pv_32bit_vcpu(v) ) { - v->arch.pv_vcpu.fs_base = __rdfsbase(); + if ( !(regs->fs & ~3) ) + v->arch.pv_vcpu.fs_base = __rdfsbase(); if ( v->arch.flags & TF_kernel_mode ) v->arch.pv_vcpu.gs_base_kernel = __rdgsbase(); - else + else if ( !(regs->gs & ~3) ) v->arch.pv_vcpu.gs_base_user = __rdgsbase(); } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |