From patchwork Thu Jun 29 18:46:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Mattson X-Patchwork-Id: 9817739 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 13DE6603F3 for ; Thu, 29 Jun 2017 18:49:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 08F1428705 for ; Thu, 29 Jun 2017 18:49:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F16AC28760; Thu, 29 Jun 2017 18:49:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5D29B28776 for ; Thu, 29 Jun 2017 18:49:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753215AbdF2St3 (ORCPT ); Thu, 29 Jun 2017 14:49:29 -0400 Received: from mail-pg0-f49.google.com ([74.125.83.49]:34414 "EHLO mail-pg0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753158AbdF2StY (ORCPT ); Thu, 29 Jun 2017 14:49:24 -0400 Received: by mail-pg0-f49.google.com with SMTP id t186so52267898pgb.1 for ; Thu, 29 Jun 2017 11:49:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=gXDioFVwZ2UZtWUnRAJJx5758Fv1Tayg0BAcuXTcH7Q=; b=qv6gvIVOsHTZdaPHbtDaJK2OhoO7E1g9cM0XYXj2AAlUdEeEyq85sPrZB2UTcI36W+ tI0hOchm0vewd0doTrMg7VSKE3WPsL5EJocb9oKLVp257RU+PGXbrcVn5mFMZXVhjgQI bfAuOU4eSB/KZ8j7Y3Z2L4r9TPj0kndkKpXO2p95p2VyfSODDNfATNLvEnZepKaEnUp9 baay/AmcCyCpoNXcUxnd88Lb/aHi90kPklZZXCLL7N+ILl/PMKU3YC/yxQYQLkihunoM CvwLG2HZnQxYDCEWicizUTo2hroqudy4vmPGEQq78RIrbZz6wYteS/GuYuqlOSZ6YfYH KqJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=gXDioFVwZ2UZtWUnRAJJx5758Fv1Tayg0BAcuXTcH7Q=; b=W48NhnULQGSaPIXQ16qIDVY1cPaowTH3y8Oicyz9DIu+c7fi8AmeKcI8smjvdnoN1p NfqHt/wK9BJ8S1b9W0GGbZUqq/dUL/gdI1axSwE0mugmRggDirUDoG1XFdshpipMSYYO 3jZ0KJQMTdu6fW0fKUKJn0qIP1F522XHK6cz+vCvUdqs3Dnt/STW3CgVdx9wiPdi1roE ApfNaL6P55j3zg8mLXx4tBUfvep+A3K/t6fHzgq/O3KngTta9NcZ+95YSPAp0NT91uBu 8m2fkiBADLnOUWe7kKk210Pl7Dse8+fAWIr1WZL3y8D8ny/YXjSTaFIcwphBthHfHJkc H21Q== X-Gm-Message-State: AKS2vOzdZujo6FvsPi0LxLXk7EYr6Q0kcIuzoT/zI0BJYdhJpNdTb4m1 PNLJIzXdhXqzGQLV X-Received: by 10.84.150.164 with SMTP id h33mr20167288plh.152.1498762158389; Thu, 29 Jun 2017 11:49:18 -0700 (PDT) Received: from turtle.sea.corp.google.com ([172.31.88.24]) by smtp.gmail.com with ESMTPSA id r63sm10912312pgr.65.2017.06.29.11.49.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 29 Jun 2017 11:49:17 -0700 (PDT) From: Jim Mattson To: Paolo Bonzini , David Hildenbrand , kvm list , David Matlack Cc: Jim Mattson Subject: [kvm-unit-tests PATCH v2 3/4] Move vmx_{on,off} into vmx.h Date: Thu, 29 Jun 2017 11:46:46 -0700 Message-Id: <20170629184647.76674-3-jmattson@google.com> X-Mailer: git-send-email 2.13.2.725.g09c95d1e9-goog In-Reply-To: <20170629184647.76674-1-jmattson@google.com> References: <20170629175211.66170-1-jmattson@google.com> <20170629184647.76674-1-jmattson@google.com> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Make these functions available to callers outside of vmx.c Signed-off-by: Jim Mattson --- x86/vmx.c | 19 ------------------- x86/vmx.h | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/x86/vmx.c b/x86/vmx.c index f7a34d20ab6a..aff13b430a67 100644 --- a/x86/vmx.c +++ b/x86/vmx.c @@ -424,25 +424,6 @@ static void __attribute__((__used__)) syscall_handler(u64 syscall_no) current->syscall_handler(syscall_no); } -static inline int vmx_on() -{ - bool ret; - u64 rflags = read_rflags() | X86_EFLAGS_CF | X86_EFLAGS_ZF; - asm volatile ("push %1; popf; vmxon %2; setbe %0\n\t" - : "=q" (ret) : "q" (rflags), "m" (vmxon_region) : "cc"); - return ret; -} - -static inline int vmx_off() -{ - bool ret; - u64 rflags = read_rflags() | X86_EFLAGS_CF | X86_EFLAGS_ZF; - - asm volatile("push %1; popf; vmxoff; setbe %0\n\t" - : "=q"(ret) : "q" (rflags) : "cc"); - return ret; -} - static const char * const exit_reason_descriptions[] = { [VMX_EXC_NMI] = "VMX_EXC_NMI", [VMX_EXTINT] = "VMX_EXTINT", diff --git a/x86/vmx.h b/x86/vmx.h index 392979ba8ae8..cbba62e46959 100644 --- a/x86/vmx.h +++ b/x86/vmx.h @@ -585,10 +585,31 @@ extern union vmx_ctrl_msr ctrl_exit_rev; extern union vmx_ctrl_msr ctrl_enter_rev; extern union vmx_ept_vpid ept_vpid; +extern u64 *vmxon_region; + void vmx_set_test_stage(u32 s); u32 vmx_get_test_stage(void); void vmx_inc_test_stage(void); +static int vmx_on(void) +{ + bool ret; + u64 rflags = read_rflags() | X86_EFLAGS_CF | X86_EFLAGS_ZF; + asm volatile ("push %1; popf; vmxon %2; setbe %0\n\t" + : "=q" (ret) : "q" (rflags), "m" (vmxon_region) : "cc"); + return ret; +} + +static int vmx_off(void) +{ + bool ret; + u64 rflags = read_rflags() | X86_EFLAGS_CF | X86_EFLAGS_ZF; + + asm volatile("push %1; popf; vmxoff; setbe %0\n\t" + : "=q"(ret) : "q" (rflags) : "cc"); + return ret; +} + static inline int make_vmcs_current(struct vmcs *vmcs) { bool ret;