[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170201183812.GI26507@e104818-lin.cambridge.arm.com>
Date: Wed, 1 Feb 2017 18:38:12 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: Will Deacon <will.deacon@....com>
Cc: Mark Rutland <mark.rutland@....com>,
Mark Langsdorf <mlangsdo@...hat.com>,
Christoffer Dall <christoffer.dall@...aro.org>,
kvm@...r.kernel.org,
Radim Krčmář <rkrcmar@...hat.com>,
Marc Zyngier <marc.zyngier@....com>,
Jon Masters <jcm@...hat.com>, timur@...eaurora.org,
Jonathan Corbet <corbet@....net>, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, kvmarm@...ts.cs.columbia.edu,
Christopher Covington <cov@...eaurora.org>,
Paolo Bonzini <pbonzini@...hat.com>,
Neil Leeder <nleeder@...eaurora.org>, shankerd@...eaurora.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v4 2/4] arm64: Work around Falkor erratum 1003
On Wed, Feb 01, 2017 at 06:34:01PM +0000, Will Deacon wrote:
> On Wed, Feb 01, 2017 at 06:22:44PM +0000, Catalin Marinas wrote:
> > On Wed, Feb 01, 2017 at 05:59:48PM +0000, Will Deacon wrote:
> > > On Wed, Feb 01, 2017 at 05:49:34PM +0000, Catalin Marinas wrote:
> > > > On Wed, Feb 01, 2017 at 05:41:05PM +0000, Will Deacon wrote:
> > > > > Maybe
> > > > > just select ARM64_PAN if the erratum workaround is selected, then
> > > > > runtime warning if we find that the h/w doesn't have PAN but does have
> > > > > the erratum (which should never fire)?
> > > >
> > > > You still need this workaround even if you don't want any PAN (both sw
> > > > and hw PAN disabled). I wouldn't want to select ARM64_PAN since it's not
> > > > a dependency. It's more like if you do need a PAN, make sure you only
> > > > use the hw one.
> > >
> > > True, in the case that all PAN options are disabled we still want this
> > > to work. How about:
> > >
> > > select ARM64_PAN if ARM64_SW_TTBR0_PAN
> >
> > As I replied to myself, the above would work for me as well, so let's go
> > for this.
> >
> > > In fact, what's the reason for supporting SW_PAN and ARM64_PAN as a
> > > config combination? Why not just have "PAN" that enables them both and
> > > uses the hardware feature if it's there?
> >
> > Because SW PAN has a non-trivial performance hit. You would enable SW
> > PAN only if you are paranoid about security. HW PAN, OTOH, is very cheap
> > and I wouldn't want to miss enabling it in a single Image supporting
> > ARMv8.0 and ARMv8.1 just because SW PAN is slow on ARMv8.0.
> >
> > IOW, ARM64_PAN is default y while ARM64_SW_TTBR0_PAN is default n.
>
> Ok, in that case, then how about another permutation: we make
> ARM64_SW_TTBR0_PAN depend on ARM64_PAN? Then when you select "PAN Support"
> you get a new menu option underneath it for the emulation? I think that
> solves the erratum case and the use-case above.
The problem is that ARM64_PAN is an ARMv8.1 feature and currently
grouped accordingly in Kconfig. ARM64_SW_TTBR0_PAN is complementary (and
even not recommended on ARMv8.1). We can do this if we break the ARMv8.x
feature grouping but just for this erratum, I don't think it's worth.
--
Catalin
Powered by blists - more mailing lists