Commit a4c750e2 authored by Marc Zyngier's avatar Marc Zyngier
Browse files

arm64: Update 'unwinder howto'



Implementing a new unwinder is a bit more involved than writing
a couple of helpers, so let's not lure the reader into a false
sense of comfort. Instead, let's point out what they should
call into, and what sort of parameter they need to provide.

Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Reviewed-by: default avatarKalesh Singh <kaleshsingh@google.com>
Tested-by: default avatarKalesh Singh <kaleshsingh@google.com>
Reviewed-by: default avatarOliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20220727142906.1856759-7-maz@kernel.org
parent 62ae2162
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -5,17 +5,11 @@
 * To implement a new arm64 stack unwinder:
 *     1) Include this header
 *
 *     2) Provide implementations for the following functions:
 *          on_overflow_stack():   Returns true if SP is on the overflow
 *                                 stack.
 *          on_accessible_stack(): Returns true is SP is on any accessible
 *                                 stack.
 *          unwind_next():         Performs validation checks on the frame
 *                                 pointer, and transitions unwind_state
 *                                 to the next frame.
 *     2) Call into unwind_next_common() from your top level unwind
 *        function, passing it the validation and translation callbacks
 *        (though the later can be NULL if no translation is required).
 *
 *         See: arch/arm64/include/asm/stacktrace.h for reference
 *              implementations.
 * See: arch/arm64/kernel/stacktrace.c for the reference implementation.
 *
 * Copyright (C) 2012 ARM Ltd.
 */