Re: [PATCH v9 08/13] arm64: traps: Shuffle code to eliminate forward declarations

From: Catalin Marinas
Date: Sat Mar 14 2020 - 22:37:03 EST


On Wed, Mar 11, 2020 at 07:26:03PM +0000, Mark Brown wrote:
> diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
> index bc9f4292bfc3..3c07a7074145 100644
> --- a/arch/arm64/kernel/traps.c
> +++ b/arch/arm64/kernel/traps.c
> @@ -272,7 +272,55 @@ void arm64_notify_die(const char *str, struct pt_regs *regs,
> }
> }
>
> -static void advance_itstate(struct pt_regs *regs);
> +#ifdef CONFIG_COMPAT
> +#define PSTATE_IT_1_0_SHIFT 25
> +#define PSTATE_IT_1_0_MASK (0x3 << PSTATE_IT_1_0_SHIFT)
> +#define PSTATE_IT_7_2_SHIFT 10
> +#define PSTATE_IT_7_2_MASK (0x3f << PSTATE_IT_7_2_SHIFT)

[...]

> @@ -578,34 +626,6 @@ static const struct sys64_hook sys64_hooks[] = {
> {},
> };
>
> -
> -#ifdef CONFIG_COMPAT
> -#define PSTATE_IT_1_0_SHIFT 25
> -#define PSTATE_IT_1_0_MASK (0x3 << PSTATE_IT_1_0_SHIFT)
> -#define PSTATE_IT_7_2_SHIFT 10
> -#define PSTATE_IT_7_2_MASK (0x3f << PSTATE_IT_7_2_SHIFT)

This patch breaks the kernel build with CONFIG_COMPAT disabled (e.g. 64K
page configuration) as sys64_hooks[] ends up in the #ifdef/#endif block.

--
Catalin