From patchwork Mon May 21 04:09:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Guo X-Patchwork-Id: 917375 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40q6MQ2qw0z9s15 for ; Mon, 21 May 2018 15:11:46 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="iZMcW1O+"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 40q6MQ118wzF0ny for ; Mon, 21 May 2018 15:11:46 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="iZMcW1O+"; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:400e:c05::241; helo=mail-pg0-x241.google.com; envelope-from=wei.guo.simon@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="iZMcW1O+"; dkim-atps=neutral Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 40q5nV5CgCzF0f5 for ; Mon, 21 May 2018 14:45:50 +1000 (AEST) Received: by mail-pg0-x241.google.com with SMTP id l2-v6so5806791pgc.7 for ; Sun, 20 May 2018 21:45:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=G9cU21vxoCQ0p25Ua6QtVLiMsd2UnFM6la/gx2bKPuc=; b=iZMcW1O+1mscys+otI1xhSN0a63aMhYHkK/kjHGLr9NVwJ1Jnm6vLeYzKK0BBmsl5L E/+ndWQpRtM06AYIltmfAnA9QHMyQkJieDzNOzDYKohqqi9rmWC9vfVo/R3ArOrvjUiP Eq7E6d6lPs0w378QkNLJTrKZWBnhPIB4FEOkjNOqIqKM4k51e5+7KDFvVIPPkQMExVJH SV3qWDdI7t4m/yHIGe7C3EY61IISYCL3STvUfmSNml4j8jAgHi9WVCRFT4rn5TzXjQJ+ ymra6/OCKWbNz1rAezrkDVU9m3XbD1W+swFPsEQyYbrub1tqt/P9W/B2yZc4hM8v15YY 7wXw== 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=G9cU21vxoCQ0p25Ua6QtVLiMsd2UnFM6la/gx2bKPuc=; b=em8ccs7lEC1e/5VRAu3Anwt/5PbwBpG3zsAXkS08tD/V6/YsKwSYr4bBwMLdS0/i89 KI5pfWes3zPTbJu5JcszFsdHvzqUJB4uh/DEmpJPOZLGxyJ0plQpSF9UIrjIMkqLoeL8 cS/4eF6ACxTHwG96LnCFGUv28WlWuA5anX20kZJ2vvfSdYI1bGb9Dnj2C2XrxqzRLqIC fplgDo5KqKCSjzojs+WDs5sEWfym6zn4nloHzy7s9vPLyKM8RjVeyvCA5lL+N0ftOAg8 FgfpF7BZfwdfpHtoS0x6bHjq2x9Ms1IvFWL96KvaY3C34w8DGjFVT30ndtjN/3HcPQBZ xQDg== X-Gm-Message-State: ALKqPwfNpGB8PHQP/j7h1YdXHGgsjD0SXiy4LEjuvLND99ADMOd/ssjK +wqL1uML0Pa/7WoLC+eNpoyPIQ== X-Google-Smtp-Source: AB8JxZrKl0mYZMudqY81PlA0KrZDthAPWydqx+bui0M65sQ6MKz2ebjOtNtN7OdV0CrKWoU0x4y9Bw== X-Received: by 2002:a65:56cb:: with SMTP id w11-v6mr14264083pgs.175.1526877948146; Sun, 20 May 2018 21:45:48 -0700 (PDT) Received: from simonLocalRHEL7.cn.ibm.com ([112.73.0.89]) by smtp.gmail.com with ESMTPSA id t14-v6sm24575514pfa.31.2018.05.20.21.45.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 20 May 2018 21:45:47 -0700 (PDT) From: wei.guo.simon@gmail.com To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH v3 09/29] KVM: PPC: Book3S PR: PR KVM pass through MSR TM/TS bits to shadow_msr. Date: Mon, 21 May 2018 12:09:26 +0800 Message-Id: <1526875786-10372-10-git-send-email-wei.guo.simon@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1526875786-10372-1-git-send-email-wei.guo.simon@gmail.com> References: <1526875786-10372-1-git-send-email-wei.guo.simon@gmail.com> X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Simon Guo , kvm-ppc@vger.kernel.org, kvm@vger.kernel.org Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Simon Guo PowerPC TM functionality needs MSR TM/TS bits support in hardware level. Guest TM functionality can not be emulated with "fake" MSR (msr in magic page) TS bits. This patch syncs TM/TS bits in shadow_msr with the MSR value in magic page, so that the MSR TS value which guest sees is consistent with actual MSR bits running in guest. Signed-off-by: Simon Guo Reviewed-by: Paul Mackerras --- arch/powerpc/kvm/book3s_pr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c index 67061d3..d3237f5 100644 --- a/arch/powerpc/kvm/book3s_pr.c +++ b/arch/powerpc/kvm/book3s_pr.c @@ -312,7 +312,12 @@ static void kvmppc_recalc_shadow_msr(struct kvm_vcpu *vcpu) ulong smsr = guest_msr; /* Guest MSR values */ +#ifdef CONFIG_PPC_TRANSACTIONAL_MEM + smsr &= MSR_FE0 | MSR_FE1 | MSR_SF | MSR_SE | MSR_BE | MSR_LE | + MSR_TM | MSR_TS_MASK; +#else smsr &= MSR_FE0 | MSR_FE1 | MSR_SF | MSR_SE | MSR_BE | MSR_LE; +#endif /* Process MSR values */ smsr |= MSR_ME | MSR_RI | MSR_IR | MSR_DR | MSR_PR | MSR_EE; /* External providers the guest reserved */