[PATCH v3 01/22] arm64: Add macros to read/write system registers
Mark Rutland
mark.rutland at arm.com
Mon Dec 7 09:45:38 PST 2015
On Mon, Dec 07, 2015 at 05:35:20PM +0000, Catalin Marinas wrote:
> On Mon, Dec 07, 2015 at 10:53:17AM +0000, Marc Zyngier wrote:
> > From: Mark Rutland <mark.rutland at arm.com>
> >
> > Rather than crafting custom macros for reading/writing each system
> > register provide generics accessors, read_sysreg and write_sysreg, for
> > this purpose.
> >
> > Unlike read_cpuid, calls to read_exception_reg are never expected
> > to be optimized away or replaced with synthetic values.
>
> What's read_exception_reg? Is it a macro somewhere?
That was what read_sysreg used to be called on a local branch of mine. I
didn't spot that when reworking the patch.
So s/read_exception_reg/read_sysreg/ here.
> > +#define read_sysreg(r) ({ \
> > + u64 __val; \
> > + asm volatile("mrs %0, " __stringify(r) : "=r" (__val)); \
> > + __val; \
> > +})
>
> And maybe a comment here on why this is always volatile.
Makes sense to me.
Marc, are you happy to turn the last sentence from the commit message
into a comment here (with the substitution)?
Thanks,
Mark.
More information about the linux-arm-kernel
mailing list