From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755802AbdKCXTC (ORCPT ); Fri, 3 Nov 2017 19:19:02 -0400 Received: from gateway20.websitewelcome.com ([192.185.58.11]:18513 "EHLO gateway20.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751942AbdKCXTB (ORCPT ); Fri, 3 Nov 2017 19:19:01 -0400 X-Greylist: delayed 1240 seconds by postgrey-1.27 at vger.kernel.org; Fri, 03 Nov 2017 19:19:01 EDT Date: Fri, 3 Nov 2017 17:58:19 -0500 From: "Gustavo A. R. Silva" To: Paolo Bonzini , Radim =?utf-8?B?S3LEjW3DocWZ?= , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, "Gustavo A. R. Silva" Subject: [PATCH] KVM: VMX: replace move_msr_up with swap macro Message-ID: <20171103225819.GA3482@embeddedor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4166.hostgator.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - embeddedor.com X-BWhitelist: no X-Source-IP: 189.145.38.148 X-Source-L: No X-Exim-ID: 1eAkuq-003DBu-Fb X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: (embeddedor) [189.145.38.148]:59806 X-Source-Auth: garsilva@embeddedor.com X-Email-Count: 8 X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20= X-Local-Domain: yes Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Function move_msr_up is used to _manually_ swap MSR entries in MSR array. This function can be removed and replaced using the swap macro instead. This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva --- The new lines are over 80 characters, but I think in this case that is preferable over splitting them. arch/x86/kvm/vmx.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index e6c8ffa..210e491 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -2544,18 +2544,6 @@ static bool vmx_invpcid_supported(void) return cpu_has_vmx_invpcid() && enable_ept; } -/* - * Swap MSR entry in host/guest MSR entry array. - */ -static void move_msr_up(struct vcpu_vmx *vmx, int from, int to) -{ - struct shared_msr_entry tmp; - - tmp = vmx->guest_msrs[to]; - vmx->guest_msrs[to] = vmx->guest_msrs[from]; - vmx->guest_msrs[from] = tmp; -} - static void vmx_set_msr_bitmap(struct kvm_vcpu *vcpu) { unsigned long *msr_bitmap; @@ -2600,28 +2588,28 @@ static void setup_msrs(struct vcpu_vmx *vmx) if (is_long_mode(&vmx->vcpu)) { index = __find_msr_index(vmx, MSR_SYSCALL_MASK); if (index >= 0) - move_msr_up(vmx, index, save_nmsrs++); + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); index = __find_msr_index(vmx, MSR_LSTAR); if (index >= 0) - move_msr_up(vmx, index, save_nmsrs++); + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); index = __find_msr_index(vmx, MSR_CSTAR); if (index >= 0) - move_msr_up(vmx, index, save_nmsrs++); + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); index = __find_msr_index(vmx, MSR_TSC_AUX); if (index >= 0 && guest_cpuid_has(&vmx->vcpu, X86_FEATURE_RDTSCP)) - move_msr_up(vmx, index, save_nmsrs++); + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); /* * MSR_STAR is only needed on long mode guests, and only * if efer.sce is enabled. */ index = __find_msr_index(vmx, MSR_STAR); if ((index >= 0) && (vmx->vcpu.arch.efer & EFER_SCE)) - move_msr_up(vmx, index, save_nmsrs++); + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); } #endif index = __find_msr_index(vmx, MSR_EFER); if (index >= 0 && update_transition_efer(vmx, index)) - move_msr_up(vmx, index, save_nmsrs++); + swap(vmx->guest_msrs[index], vmx->guest_msrs[save_nmsrs++]); vmx->save_nmsrs = save_nmsrs; -- 2.7.4