Re: [PATCH v4 05/12] arm64: Add call_break_hook() to early_brk64() for early kgdb

From: Doug Anderson
Date: Wed May 13 2020 - 19:18:37 EST


Hi,

On Thu, May 7, 2020 at 1:09 PM Douglas Anderson <dianders@xxxxxxxxxxxx> wrote:
>
> In order to make early kgdb work properly we need early_brk64() to be
> able to call into it. This is as easy as adding a call into
> call_break_hook() just like we do later in the normal brk_handler().
>
> Once we do this we can let kgdb know that it can break into the
> debugger a little earlier (specifically when parsing early_param's).
>
> NOTE: without this patch it turns out that arm64 can't do breakpoints
> even at dbg_late_init(), so if we decide something about this patch is
> wrong we might need to move dbg_late_init() a little later.
>
> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
> ---
>
> Changes in v4:
> - Add "if KGDB" to "select ARCH_HAS_EARLY_DEBUG" in Kconfig.
>
> Changes in v3:
> - Change boolean weak function to KConfig.
>
> Changes in v2: None
>
> arch/arm64/Kconfig | 1 +
> arch/arm64/include/asm/debug-monitors.h | 2 ++
> arch/arm64/kernel/debug-monitors.c | 2 +-
> arch/arm64/kernel/traps.c | 3 +++
> 4 files changed, 7 insertions(+), 1 deletion(-)

As discussed in the replies to the v3 version of this patch [1], I
have posted a replacement patch for this one [2]. After the cut in
the replacement patch I talk about different ways it could land.
Hopefully that's not too confusing. I can also re-spam everyone with
a v5 of the whole series if that makes it clearer.

[1] https://lore.kernel.org/r/20200428141218.v3.5.I22067ad43e77ddfd4b64c2d49030628480f9e8d9@changeid
[2] 20200513160501.1.I0b5edf030cc6ebef6ab4829f8867cdaea42485d8@changeid">https://lore.kernel.org/r/20200513160501.1.I0b5edf030cc6ebef6ab4829f8867cdaea42485d8@changeid

-Doug