From patchwork Tue Aug 6 10:41:45 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arthur Chunqi Li X-Patchwork-Id: 2839323 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 796F4BF535 for ; Tue, 6 Aug 2013 10:42:04 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A9FC220202 for ; Tue, 6 Aug 2013 10:42:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7F08320201 for ; Tue, 6 Aug 2013 10:42:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755991Ab3HFKl7 (ORCPT ); Tue, 6 Aug 2013 06:41:59 -0400 Received: from mail-pa0-f45.google.com ([209.85.220.45]:35846 "EHLO mail-pa0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755970Ab3HFKl6 (ORCPT ); Tue, 6 Aug 2013 06:41:58 -0400 Received: by mail-pa0-f45.google.com with SMTP id bg4so552243pad.32 for ; Tue, 06 Aug 2013 03:41:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=xne9GTdG9S1RVQa1QwOOhquH/1qvsrMgsKgdsgGdT5o=; b=Dt+WGfQueH2WA7ze0dzk/vu/qJ8LGToG3Rpz5l4Is9HGQ6f2Jr814je+EKqiZxtEE1 V7MRoKaPr5hCgeMT+LRTIwAfaOeWrj5ghVN6taiKe9PC+LqcfhhH2MrHYgirL3f0/+W0 kQmk1XGaWqpToSWDjMAwKoq12u1iHZcPr8CUw82buFWFS3Oev76A2/gYjv/x8wVmalnT BIIXwBtbaj5gp7VIkgFllTLy0qI1pvvLtniM7KoqrJ9LwLonZcDpCiODr2+lScs26Pdd eDWKc56XUrxux/ORFukDXcD8zSCBiZo7NfrX4k9ZN7oZGhTaOa0xyyGoFv+BEpj57Zt5 dk1Q== X-Received: by 10.67.1.68 with SMTP id be4mr2358019pad.161.1375785718108; Tue, 06 Aug 2013 03:41:58 -0700 (PDT) Received: from Blade1-02.Blade1-02 ([162.105.146.101]) by mx.google.com with ESMTPSA id pu5sm3300196pac.21.2013.08.06.03.41.54 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 06 Aug 2013 03:41:56 -0700 (PDT) From: Arthur Chunqi Li To: kvm@vger.kernel.org Cc: jan.kiszka@web.de, gleb@redhat.com, pbonzini@redhat.com, Arthur Chunqi Li Subject: [PATCH v3] KVM: nVMX: Advertise IA32_PAT in VM exit control Date: Tue, 6 Aug 2013 18:41:45 +0800 Message-Id: <1375785705-6570-1-git-send-email-yzt356@gmail.com> X-Mailer: git-send-email 1.7.9.5 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Advertise VM_EXIT_SAVE_IA32_PAT and VM_EXIT_LOAD_IA32_PAT. Signed-off-by: Arthur Chunqi Li --- arch/x86/kvm/vmx.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 396572d..c45adea 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -2191,14 +2191,17 @@ static __init void nested_vmx_setup_ctls_msrs(void) * If bit 55 of VMX_BASIC is off, bits 0-8 and 10, 11, 13, 14, 16 and * 17 must be 1. */ + rdmsr(MSR_IA32_VMX_EXIT_CTLS, + nested_vmx_exit_ctls_low, nested_vmx_exit_ctls_high); nested_vmx_exit_ctls_low = VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; + nested_vmx_exit_ctls_high &= + VM_EXIT_LOAD_IA32_PAT | VM_EXIT_SAVE_IA32_PAT; + nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR | + VM_EXIT_HOST_ADDR_SPACE_SIZE; /* Note that guest use of VM_EXIT_ACK_INTR_ON_EXIT is not supported. */ -#ifdef CONFIG_X86_64 - nested_vmx_exit_ctls_high = VM_EXIT_HOST_ADDR_SPACE_SIZE; -#else - nested_vmx_exit_ctls_high = 0; +#ifndef CONFIG_X86_64 + nested_vmx_exit_ctls_high &= (~VM_EXIT_HOST_ADDR_SPACE_SIZE); #endif - nested_vmx_exit_ctls_high |= VM_EXIT_ALWAYSON_WITHOUT_TRUE_MSR; /* entry controls */ rdmsr(MSR_IA32_VMX_ENTRY_CTLS,