[PATCH v2 04/14] arm64/sysreg: Add definitions for immediate versions of MSR ALLINT
Mark Brown
broonie at kernel.org
Mon Dec 5 09:11:38 PST 2022
On Mon, Dec 05, 2022 at 04:38:53PM +0000, Marc Zyngier wrote:
> Mark Brown <broonie at kernel.org> wrote:
> > }
> > +
> > #endif
> Spurious change?
Yes.
> > +++ b/arch/arm64/include/asm/nmi.h
> > @@ -0,0 +1,18 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +static __always_inline void _allint_set(void)
> > +{
> > + asm volatile(__msr_s(SYS_ALLINT_SET, "xzr"));
> > +}
> If this *really* must be a separate include file, it should at least
> directly include its dependencies. My gut feeling is that it would be
> better placed in daiflags.h.
Yeah, I was swithering on that. Some versions of the code have had more
in here at which point having the separate header made more sense. I
think part of the problem here is that we should do some combination of
renaming daifflags.h or layering an a more abstracted API on top of it,
putting things that are not DAIF into daifflags.h doesn't feel great.
> > @@ -126,6 +126,8 @@
> > * System registers, organised loosely by encoding but grouped together
> > * where the architected name contains an index. e.g. ID_MMFR<n>_EL1.
> > */
> > +#define SYS_ALLINT_CLR sys_reg(0, 1, 4, 0, 0)
> > +#define SYS_ALLINT_SET sys_reg(0, 1, 4, 1, 0)
> This only covers the immediate versions of ALLINT, and misses the
> definition for the register version, aka sys_reg(3, 0, 4, 3, 0).
That is already present upstream, we only need to add the immediate
versions which the generated header stuff doesn't have any model for
yet.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20221205/00e7c713/attachment.sig>
More information about the linux-arm-kernel
mailing list