From patchwork Wed Sep 9 08:38:33 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tushar Jagad X-Patchwork-Id: 53303 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wi0-f200.google.com (mail-wi0-f200.google.com [209.85.212.200]) by patches.linaro.org (Postfix) with ESMTPS id 1C08722B05 for ; Wed, 9 Sep 2015 08:41:24 +0000 (UTC) Received: by wicuu12 with SMTP id uu12sf4205375wic.2 for ; Wed, 09 Sep 2015 01:41:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:subject:date:message-id :in-reply-to:references:precedence:list-id:list-unsubscribe :list-archive:list-post:list-help:list-subscribe:cc:mime-version :content-type:content-transfer-encoding:sender:errors-to :x-original-sender:x-original-authentication-results:mailing-list; bh=761DcldYa4MEnuhQysPnPsi41LV6oBF/8JMX7XtdJ/M=; b=alx3zuoH5lGFL8+5R0DdGApMoN9IYn2Fgb64PcFDBcw3gMHzpO0cTpRrSwZPsWKqMs 77UB0/ouF6Y8/4D09yYIApdLQ0wJXspcXv0a+x4PpkLmkgGKIIEHyOSnKON5K0arivnH K0rqE4wfGcP9tQhctmeP8lC7LLJKA9aVBez9RG2eVjUV4phhIXi+9z4gZD8It29Umv1U hVJJRnIJ48ub7D8fWgHUdrBlADkaSt8QPSJYOGzwIc2oa76CX8fqDKovLjdUneB3JltV pnT7FkJjXNAzojvSeODfKCzy3Zsp9Z49QmXxHRZPs38r2xWwDSum6KsYZ4pVPqZePUF4 1kOQ== X-Gm-Message-State: ALoCoQlf5sWJzg1oJPzeDLwFbXxuMvatQlmRN8QrGgzLZHoiJsO96qRrS7bFr0NjECZ+eKaPpFhE X-Received: by 10.112.202.165 with SMTP id kj5mr7682972lbc.5.1441788083395; Wed, 09 Sep 2015 01:41:23 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.5.73 with SMTP id q9ls16348laq.62.gmail; Wed, 09 Sep 2015 01:41:23 -0700 (PDT) X-Received: by 10.152.5.225 with SMTP id v1mr24810269lav.0.1441788083126; Wed, 09 Sep 2015 01:41:23 -0700 (PDT) Received: from mail-la0-f41.google.com (mail-la0-f41.google.com. [209.85.215.41]) by mx.google.com with ESMTPS id p1si1561600laf.150.2015.09.09.01.41.23 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Sep 2015 01:41:23 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.41 as permitted sender) client-ip=209.85.215.41; Received: by laeb10 with SMTP id b10so2103696lae.1 for ; Wed, 09 Sep 2015 01:41:23 -0700 (PDT) X-Received: by 10.112.235.130 with SMTP id um2mr27777533lbc.72.1441788083031; Wed, 09 Sep 2015 01:41:23 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.59.35 with SMTP id w3csp180550lbq; Wed, 9 Sep 2015 01:41:22 -0700 (PDT) X-Received: by 10.180.75.243 with SMTP id f19mr53639895wiw.52.1441788080120; Wed, 09 Sep 2015 01:41:20 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org. [2001:1868:205::9]) by mx.google.com with ESMTPS id ll9si3340503wic.3.2015.09.09.01.41.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Sep 2015 01:41:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org designates 2001:1868:205::9 as permitted sender) client-ip=2001:1868:205::9; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZZav1-0007Wd-9b; Wed, 09 Sep 2015 08:39:51 +0000 Received: from mail-pa0-f52.google.com ([209.85.220.52]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZZauk-0007KL-Av for linux-arm-kernel@lists.infradead.org; Wed, 09 Sep 2015 08:39:35 +0000 Received: by pacex6 with SMTP id ex6so3924729pac.0 for ; Wed, 09 Sep 2015 01:39:16 -0700 (PDT) X-Received: by 10.68.102.225 with SMTP id fr1mr69199784pbb.65.1441787956837; Wed, 09 Sep 2015 01:39:16 -0700 (PDT) Received: from pnqlab044.amcc.com ([182.73.239.130]) by smtp.gmail.com with ESMTPSA id uy4sm6110798pbc.69.2015.09.09.01.39.13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Sep 2015 01:39:15 -0700 (PDT) From: Tushar Jagad To: linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu Subject: [PATCH RFC 3/4] arm64: kvm: Setup MIDR as per target vcpu Date: Wed, 9 Sep 2015 14:08:33 +0530 Message-Id: <1441787914-3191-4-git-send-email-tushar.jagad@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1441787914-3191-1-git-send-email-tushar.jagad@linaro.org> References: <1441787914-3191-1-git-send-email-tushar.jagad@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150909_013934_441453_AD1AB087 X-CRM114-Status: GOOD ( 13.46 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.220.52 listed in wl.mailspike.net] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.220.52 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , Cc: peter.maydell@linaro.org, marc.zyngier@arm.com, patches@apm.com, qemu-devel@nongnu.org, tushar.jagad@linaro.org, christoffer.dall@linaro.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patch=linaro.org@lists.infradead.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: tushar.jagad@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.41 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 For Cross CPU targets guest kernel should see MIDR value as per the target specified. This patch adds support to construct the value for MIDR register based on the target vcpu. Signed-off-by: Tushar Jagad --- arch/arm64/kvm/sys_regs.c | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c index 273eecd..cb12783 100644 --- a/arch/arm64/kvm/sys_regs.c +++ b/arch/arm64/kvm/sys_regs.c @@ -172,10 +172,45 @@ static bool trap_dbgauthstatus_el1(struct kvm_vcpu *vcpu, static void reset_midr(struct kvm_vcpu *vcpu, const struct sys_reg_desc *r) { - /* - * We only export the host's MPIDR_EL1 for now. - */ - vcpu_sys_reg(vcpu, MIDR_EL1) = read_cpuid_id(); + __u32 target; + unsigned long implementor; + unsigned long part_num; + __u32 midr_el1; + + target = vcpu->arch.target; + switch (target) { + case KVM_ARM_TARGET_AEM_V8: + part_num = ARM_CPU_PART_AEM_V8; + implementor = ARM_CPU_IMP_ARM; + break; + case KVM_ARM_TARGET_FOUNDATION_V8: + part_num = ARM_CPU_PART_FOUNDATION; + implementor = ARM_CPU_IMP_ARM; + break; + case KVM_ARM_TARGET_CORTEX_A53: + part_num = ARM_CPU_PART_CORTEX_A53; + implementor = ARM_CPU_IMP_ARM; + break; + case KVM_ARM_TARGET_CORTEX_A57: + part_num = ARM_CPU_PART_CORTEX_A57; + implementor = ARM_CPU_IMP_ARM; + break; + case KVM_ARM_TARGET_XGENE_POTENZA: + part_num = APM_CPU_PART_POTENZA; + implementor = ARM_CPU_IMP_APM; + break; + + default: + implementor = 0; + part_num = 0; + } + + if (implementor && part_num) + midr_el1 = MIDR_CPU_PART(implementor, part_num); + else + midr_el1 = read_cpuid_id(); + + vcpu_sys_reg(vcpu, MIDR_EL1) = midr_el1; } /*