From patchwork Mon Aug 5 11:18:13 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: 2838632 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 014639F485 for ; Mon, 5 Aug 2013 11:18:32 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CCF782012F for ; Mon, 5 Aug 2013 11:18:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E762120122 for ; Mon, 5 Aug 2013 11:18:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754547Ab3HELS0 (ORCPT ); Mon, 5 Aug 2013 07:18:26 -0400 Received: from mail-pb0-f52.google.com ([209.85.160.52]:44540 "EHLO mail-pb0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754324Ab3HELSZ (ORCPT ); Mon, 5 Aug 2013 07:18:25 -0400 Received: by mail-pb0-f52.google.com with SMTP id wz12so3189398pbc.39 for ; Mon, 05 Aug 2013 04:18:25 -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:x-mailer; bh=o34F3ueCfIL/pdNmjCKokGDqFKlXEoot95+mLwzqsno=; b=I7BVO2nqP/RrAgDNL5wW26kI12xG4IYO7mPXLvyuroHhL8OCXMuY8V39VctdfVvxPU 0uDy8tWPRbWYwOSePTupNMQAr5c14AsFVXMdiR0wO3PhVibL9RtIn56HBd0YhX9gdE7C xRVe1piA98WkOwNhG0m8Hg0JhGy23zvbRcRp1SHNdENqiKqQMGluUdXo+UDQS7nUE7we r4XTRaTIqKpMxcNrv0KgWTrna0rygkMxA4tPmvFy9xrpPMOVyt9j4S1s1p9X1BufPNj+ h3BWzYXW+WZ9CZ0dDdHggflfTby2ydqWDlAi4y8XeuAT+hRmViO114eF3TNMIag9PCZC fS3A== X-Received: by 10.68.12.165 with SMTP id z5mr21519257pbb.172.1375701505389; Mon, 05 Aug 2013 04:18:25 -0700 (PDT) Received: from Blade1-02.Blade1-02 ([162.105.146.101]) by mx.google.com with ESMTPSA id oj6sm26774348pab.9.2013.08.05.04.18.21 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 05 Aug 2013 04:18:24 -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 v2] KVM: nVMX: Advertise IA32_PAT in VM exit control Date: Mon, 5 Aug 2013 19:18:13 +0800 Message-Id: <1375701493-18751-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 --- ChangeLog to v1: Add host features check. Format is the same as "entry controls". arch/x86/kvm/vmx.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 396572d..fd451c1 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -2191,14 +2191,16 @@ 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; /* 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; + 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,