From patchwork Mon Jan 9 06:24:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jintack Lim X-Patchwork-Id: 90347 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp707844qgi; Sun, 8 Jan 2017 22:30:52 -0800 (PST) X-Received: by 10.84.217.66 with SMTP id e2mr173862507plj.109.1483943452030; Sun, 08 Jan 2017 22:30:52 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 197si87765844pfy.74.2017.01.08.22.30.51; Sun, 08 Jan 2017 22:30:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1162712AbdAIGas (ORCPT + 25 others); Mon, 9 Jan 2017 01:30:48 -0500 Received: from outprodmail02.cc.columbia.edu ([128.59.72.51]:52416 "EHLO outprodmail02.cc.columbia.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S939471AbdAIG0l (ORCPT ); Mon, 9 Jan 2017 01:26:41 -0500 Received: from hazelnut (hazelnut.cc.columbia.edu [128.59.213.250]) by outprodmail02.cc.columbia.edu (8.14.4/8.14.4) with ESMTP id v096Q5hM006221 for ; Mon, 9 Jan 2017 01:26:30 -0500 Received: from hazelnut (localhost.localdomain [127.0.0.1]) by hazelnut (Postfix) with ESMTP id 4551A81 for ; Mon, 9 Jan 2017 01:26:30 -0500 (EST) Received: from sendprodmail04.cc.columbia.edu (sendprodmail04.cc.columbia.edu [128.59.72.16]) by hazelnut (Postfix) with ESMTP id 11EA08A for ; Mon, 9 Jan 2017 01:26:30 -0500 (EST) Received: from mail-qk0-f197.google.com (mail-qk0-f197.google.com [209.85.220.197]) by sendprodmail04.cc.columbia.edu (8.14.4/8.14.4) with ESMTP id v096QT15005744 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 9 Jan 2017 01:26:30 -0500 Received: by mail-qk0-f197.google.com with SMTP id a16so37637695qkc.6 for ; Sun, 08 Jan 2017 22:26:30 -0800 (PST) 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=XrZgA5YNjrZY/U+EwT0x3BeblMmujqqQLgkqCTYsuYM=; b=XPI1bAn724EQiPw0mv0+sBkjyVveVRKnpt/LMFGMx41jroO41E5qz9gDqmo0/iJWeR bOtIv888pq3FxTZ/Ncgv2pwIbVXNqqi752wSmjYtw+TfhN4K6MPi+yxCCscJcUrVZf8Y WDYREfztNEP2spdeGwO21gBRuH5IfRji5mhI/Ht15ijJWEriQU2awC/8dkzkIi9iFc5m QKCvyzu4vBzALGtCtEpt8GopEGVppi380pgjS1o25rDKGLG5GKQb+dlggYy9HVPckEQE wjofIzHx++Z4soNlb1Us/vyiV2vfO9r4SKMyvTpRDLZ8l97CCeEKCdf37reQ+Op9jusH EBFg== X-Gm-Message-State: AIkVDXIzMuHTOqaW+SKtA0R9m5gRREitqMgjcpgmh1/qBjL6uGp2RqrnnhlczaxK/10wINpLYEinn4S4V516RqETO9HhAn2qGMzPA9eBOZVm/2/2Esu8MKEj473cqxZCSBHwy02srUFREKobCkoRQaWMBcM= X-Received: by 10.55.26.159 with SMTP id l31mr86414472qkh.164.1483943189668; Sun, 08 Jan 2017 22:26:29 -0800 (PST) X-Received: by 10.55.26.159 with SMTP id l31mr86414441qkh.164.1483943189499; Sun, 08 Jan 2017 22:26:29 -0800 (PST) Received: from jintack.cs.columbia.edu ([2001:18d8:ffff:16:21a:4aff:feaa:f900]) by smtp.gmail.com with ESMTPSA id h3sm8623257qtc.6.2017.01.08.22.26.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 08 Jan 2017 22:26:28 -0800 (PST) From: Jintack Lim To: christoffer.dall@linaro.org, marc.zyngier@arm.com, pbonzini@redhat.com, rkrcmar@redhat.com, linux@armlinux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com, vladimir.murzin@arm.com, suzuki.poulose@arm.com, mark.rutland@arm.com, james.morse@arm.com, lorenzo.pieralisi@arm.com, kevin.brodsky@arm.com, wcohen@redhat.com, shankerd@codeaurora.org, geoff@infradead.org, andre.przywara@arm.com, eric.auger@redhat.com, anna-maria@linutronix.de, shihwei@cs.columbia.edu, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: jintack@cs.columbia.edu Subject: [RFC 46/55] KVM: arm64: Add more info to the S2 translation result Date: Mon, 9 Jan 2017 01:24:42 -0500 Message-Id: <1483943091-1364-47-git-send-email-jintack@cs.columbia.edu> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1483943091-1364-1-git-send-email-jintack@cs.columbia.edu> References: <1483943091-1364-1-git-send-email-jintack@cs.columbia.edu> X-No-Spam-Score: Local X-Scanned-By: MIMEDefang 2.78 on 128.59.72.16 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Christoffer Dall When translating an L2 IPA to an L1 IPA, we some times need to know at which level this translation occurred and what the resulting permissions was, so populate the translation result structure with these additional fields. Signed-off-by: Christoffer Dall Signed-off-by: Jintack Lim --- arch/arm64/include/asm/kvm_mmu.h | 3 +++ arch/arm64/kvm/mmu-nested.c | 3 +++ 2 files changed, 6 insertions(+) -- 1.9.1 diff --git a/arch/arm64/include/asm/kvm_mmu.h b/arch/arm64/include/asm/kvm_mmu.h index bf94f0c..2ac603d 100644 --- a/arch/arm64/include/asm/kvm_mmu.h +++ b/arch/arm64/include/asm/kvm_mmu.h @@ -327,6 +327,9 @@ static inline unsigned int kvm_get_vmid_bits(void) struct kvm_s2_trans { phys_addr_t output; phys_addr_t block_size; + bool writable; + bool readable; + int level; }; #ifdef CONFIG_KVM_ARM_NESTED_HYP diff --git a/arch/arm64/kvm/mmu-nested.c b/arch/arm64/kvm/mmu-nested.c index b161b55..b579d23 100644 --- a/arch/arm64/kvm/mmu-nested.c +++ b/arch/arm64/kvm/mmu-nested.c @@ -236,6 +236,9 @@ static int walk_nested_s2_pgd(struct kvm_vcpu *vcpu, phys_addr_t ipa, (ipa & GENMASK_ULL(addr_bottom - 1, 0)); out->output = paddr; out->block_size = 1UL << ((3 - level) * stride + wi->pgshift); + out->readable = desc & (0b01 << 6); + out->writable = desc & (0b10 << 6); + out->level = level; return 0; }