[PATCH v2] arm64: Restrict undef hook for cpufeature registers
Catalin Marinas
catalin.marinas at arm.com
Tue Jun 8 08:20:43 PDT 2021
On Mon, May 17, 2021 at 01:02:56PM -0500, Rob Herring wrote:
> From: Raphael Gault <raphael.gault at arm.com>
>
> This commit modifies the mask of the mrs_hook declared in
> arch/arm64/kernel/cpufeatures.c which emulates only feature register
> access. This is necessary because this hook's mask was too large and
> thus masking any mrs instruction, even if not related to the emulated
> registers which made the pmu emulation inefficient.
>
> Signed-off-by: Raphael Gault <raphael.gault at arm.com>
> Signed-off-by: Rob Herring <robh at kernel.org>
> ---
> I don't *think* I'm going to need this for the perf userspace counter
> access, but this patch stands on its own as the PMU registers are not
> emulated. So please apply it.
>
> v2:
> - Fix warning for set but unused sys_reg
> ---
> arch/arm64/kernel/cpufeature.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
> index efed2830d141..c773f7c3c007 100644
> --- a/arch/arm64/kernel/cpufeature.c
> +++ b/arch/arm64/kernel/cpufeature.c
> @@ -2905,8 +2905,8 @@ static int emulate_mrs(struct pt_regs *regs, u32 insn)
> }
>
> static struct undef_hook mrs_hook = {
> - .instr_mask = 0xfff00000,
> - .instr_val = 0xd5300000,
> + .instr_mask = 0xffff0000,
> + .instr_val = 0xd5380000,
Acked-by: Catalin Marinas <catalin.marinas at arm.com>
and changing Will's email address.
--
Catalin
More information about the linux-arm-kernel
mailing list