[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 8/9] x86/vmx: Support removing MSRs from the host/guest load/save lists
>>> On 12.06.18 at 19:40, <andrew.cooper3@xxxxxxxxxx> wrote: > On 12/06/18 09:27, Jan Beulich wrote: >>>>> On 08.06.18 at 20:48, <andrew.cooper3@xxxxxxxxxx> wrote: >>> --- a/xen/arch/x86/hvm/vmx/vmcs.c >>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c >>> @@ -1452,6 +1452,74 @@ int vmx_add_msr(struct vcpu *v, uint32_t msr, >>> uint64_t val, >>> return rc; >>> } >>> >>> +int vmx_del_msr(struct vcpu *v, uint32_t msr, enum vmx_msr_list_type type) >>> +{ >>> + struct arch_vmx_struct *vmx = &v->arch.hvm_vmx; >>> + struct vmx_msr_entry *start = NULL, *ent, *end; >>> + unsigned int substart, subend, total; >>> + >>> + ASSERT(v == current || !vcpu_runnable(v)); >>> + >>> + switch ( type ) >>> + { >>> + case VMX_MSR_HOST: >>> + start = vmx->host_msr_area; >>> + substart = 0; >>> + subend = vmx->host_msr_count; >>> + total = subend; >>> + break; >>> + >>> + case VMX_MSR_GUEST: >>> + start = vmx->msr_area; >>> + substart = 0; >>> + subend = vmx->msr_save_count; >>> + total = vmx->msr_load_count; >>> + break; >>> + >>> + case VMX_MSR_GUEST_LOADONLY: >>> + start = vmx->msr_area; >>> + substart = vmx->msr_save_count; >>> + subend = vmx->msr_load_count; >>> + total = subend; >>> + break; >>> + >>> + default: >>> + ASSERT_UNREACHABLE(); >>> + } >>> + >>> + if ( !start ) >>> + return -ESRCH; >> I'm pretty sure not all gcc versions we support are capable of recognizing >> that substart, subend, and total can't be used uninitialized due to this >> return path, without there also being a return in after default: - I'm not >> sure though whether adding that return or initializers might be the >> better approach towards addressing this. At least for substart an >> initializer (of zero) would allow dropping two other lines of code. > > The oldest compiler I can easily put my hands on: > > x86_64-linux-gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46) > > is fine with this. Well, okay - let's chance it then, and fix it up later if needed. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |