Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1498124imm; Wed, 1 Aug 2018 17:39:44 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeqKSguoqCngwcwX8ax4mmgmkazJZexc5iG/fQxKzpCSaen4WYIG5LjftgBN9eCrtJNcGTy X-Received: by 2002:a63:943:: with SMTP id 64-v6mr522808pgj.368.1533170384143; Wed, 01 Aug 2018 17:39:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533170384; cv=none; d=google.com; s=arc-20160816; b=wm8LG30ttxmw3WA65OVktCWz6wvV4eoVwfPQr8bE08EqrAOJTd6r0C4ShVlZaR9h9N wXztj3TI5gmdE8QMmOhSoVT1Ept8D/yiv+YrWtvl5HnDmocn2Oft371mVyYpgRsXGvPg +9gnJiaTE4X/nK0XdBNRKe8gVjvVUsZg4Vkgi6XD5SGtbp2odtdsVOl/+A08EyCd2a9M REa2Ug787DPy2/eJRvN2bNuMQVAcXRRqeM2vnOIWnDvfVeR9MsnHbobusXYdCRoXA47O voNTKCt6M4nIeIeSBayv4Jb0v7a9QLqesa1DaMoxYNhLcHecGZeXrUvP9CFK9c+Y1EJp z91w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:to:from:cc:in-reply-to:subject:date:dkim-signature :arc-authentication-results; bh=0+TPvcvDj4OiH5wST27toS9K/GzrzrQvBGoLJ6UyD+4=; b=urAVglutiDjL1zq1b5ZSA5eml5iSrNHYpgCwSOzAp7GEvtspBl6EiFGtNFN8hprEQY ZmAC4WWYPQufDxIOTjlMbpv9vnLD/IXhD/uyhSGhU/hCOar7RjAH7/at572s3YPuSXgW YbRi0FljY/7V8ap3mJ3YoauvzZlW4ap90mWDz2e3+mUfFeWg56enyhgRgBzAbFSw9/ny cWKZ9oTAkPIBNotSPAMap7pa+w3QA/cautLhtGOrVUrw1oiZpY0NzAE90+9aMZ2cjUo7 N5XaLMscO/6cZYp4FcmTWa1q6VLeb85q1vEllbAthRf/azylzLjeD1y2KvCJjHMaNQ0x r9RQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=FEaOHIFV; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x68-v6si423566pfc.239.2018.08.01.17.39.29; Wed, 01 Aug 2018 17:39:44 -0700 (PDT) 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; dkim=pass header.i=@sifive.com header.s=google header.b=FEaOHIFV; 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 S1731503AbeHBC02 (ORCPT + 99 others); Wed, 1 Aug 2018 22:26:28 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:40758 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729644AbeHBC02 (ORCPT ); Wed, 1 Aug 2018 22:26:28 -0400 Received: by mail-pg1-f196.google.com with SMTP id x5-v6so232683pgp.7 for ; Wed, 01 Aug 2018 17:38:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=date:subject:in-reply-to:cc:from:to:message-id:mime-version :content-transfer-encoding; bh=0+TPvcvDj4OiH5wST27toS9K/GzrzrQvBGoLJ6UyD+4=; b=FEaOHIFVG+wxPu2F9Bgxu4fQHhK++yZKjLUavWR7ytogk40rJJGEc73W2kjLirHkZS vZzuhGmUZDJge2N57cGFcpF1Z4EVivl8amE/tdksWDfEdI5ZELdnPtMn/WzEf4zbXW1e LF7N3tA6ZePA4Ys96IFwOzyYFQcuCidZfpn/uxVzs4/lp7mypmW/y9xUtcggy2AMj4t2 rQO+FF+45freFlbQcp9YkmN+/OLBxQiCFfIe+CwP+ns5tmE6oAtc9HACZxQS6p1/8ka8 lGFE3nGNMm+EF/cPxyfGRMmrW+Flr2GYoUxP20dsMazjmqKUYGO5PEV+UKCD16cYLnFB n06A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:subject:in-reply-to:cc:from:to:message-id :mime-version:content-transfer-encoding; bh=0+TPvcvDj4OiH5wST27toS9K/GzrzrQvBGoLJ6UyD+4=; b=MzzF0P29+dYPfqLiEWNWZEccGPYczcb07l9kFgp/voqMe2xIOqBnbLchMh1b8DbqTa 4Q7DXScye/BiFxIx1BwPUWwo8QGB87/xM0atOslQYlwqgLTmjGfyc4WgGzK/xr9w34xY cOa0Cyq85pNGrEXLNRrt+FPccztTN8NWh0aH4pZSRvw49gb42nKLP8PVZQ+eaMPFrSvD yQ3YvWRB2ux63U6VBWGF4d9ImWxgMXPlulz4Tq6qzaP+dKs6bYQJ9XJ3PmDBeEu5rj8Z dKjwuaS9n1xKquOA2JFWG8CgeC+ZiRwRkrne1Imt+VvwoqDFiTY+huvPqyAr5Zl3Fu9y v75g== X-Gm-Message-State: AOUpUlF8TRuCOETMMfttexy8BWA2Z88Oq77qkGx+zkPk7NcC+h2q1+FI GagDmavRIxubz+b9U9YMaik1Jg== X-Received: by 2002:a65:4384:: with SMTP id m4-v6mr509314pgp.265.1533170281309; Wed, 01 Aug 2018 17:38:01 -0700 (PDT) Received: from localhost ([12.206.222.5]) by smtp.gmail.com with ESMTPSA id c85-v6sm426975pfd.110.2018.08.01.17.37.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Aug 2018 17:38:00 -0700 (PDT) Date: Wed, 01 Aug 2018 17:38:00 -0700 (PDT) X-Google-Original-Date: Wed, 01 Aug 2018 17:37:47 PDT (-0700) Subject: Re: [PATCH] RISC-V: Add the directive for alignment of stvec's value In-Reply-To: <1529545207-26999-1-git-send-email-zong@andestech.com> CC: aou@eecs.berkeley.edu, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, zong@andestech.com, greentime@adnestech.com From: Palmer Dabbelt To: zong@andestech.com Message-ID: Mime-Version: 1.0 (MHng) Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 20 Jun 2018 18:40:07 PDT (-0700), zong@andestech.com wrote: > The stvec's value must be 4 byte alignment by specification definition. > This directive avoids to stvec be set the non-alignment value by the > following code in head.S > > /* Point stvec to virtual address of intruction after satp write */ > la a0, 1f > add a0, a0, a1 > csrw stvec, a0 > > Signed-off-by: Zong Li > --- > arch/riscv/kernel/head.S | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S > index 396ec7b349ce..ae7b204f531c 100644 > --- a/arch/riscv/kernel/head.S > +++ b/arch/riscv/kernel/head.S > @@ -94,6 +94,7 @@ relocate: > or a0, a0, a1 > sfence.vma > csrw sptbr, a0 > +.align 2 > 1: > /* Set trap vector to spin forever to help debug */ > la a0, .Lsecondary_park I don't think this is actually correct: you shouldn't be aligning the address at which stvec is set, but the address that stvec is set to. If this is fixing anything then it's probably just by coincidence as it's causing .Lsecondary_park to be aligned. I think this patch is the correct fix diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S index 6e07ed37bbff..d1beecf1d060 100644 --- a/arch/riscv/kernel/head.S +++ b/arch/riscv/kernel/head.S @@ -143,6 +143,7 @@ relocate: tail smp_callin #endif +.align 2 .Lsecondary_park: /* We lack SMP support or have too many harts, so park this hart */ wfi Thanks for pointing this out!