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: Marc Zyngier <maz@kernel.org>
Reviewed-by: Kalesh Singh <kaleshsingh@google.com>
Tested-by: Kalesh Singh <kaleshsingh@google.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20220727142906.1856759-7-maz@kernel.org
This commit is contained in:
Marc Zyngier 2022-07-27 15:29:06 +01:00
parent 62ae21627a
commit a4c750e232
1 changed files with 4 additions and 10 deletions

View File

@ -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.
*/