KVM: arm64: Implement non-protected nVHE hyp stack unwinder
authorKalesh Singh <kaleshsingh@google.com>
Tue, 26 Jul 2022 07:37:43 +0000 (00:37 -0700)
committerMarc Zyngier <maz@kernel.org>
Tue, 26 Jul 2022 09:49:39 +0000 (10:49 +0100)
commitdb129d486ebdf4e3168282236f9d9008b42cac7e
treea192d8042d29349f6b0f47a3003ecd8470e54e2f
parent879e5ac7b2e4db05799a905b5a07fc9e5dedf651
KVM: arm64: Implement non-protected nVHE hyp stack unwinder

Implements the common framework necessary for unwind() to work
for non-protected nVHE mode:
    - on_accessible_stack()
    - on_overflow_stack()
    - unwind_next()

Non-protected nVHE unwind() is used to unwind and dump the hypervisor
stacktrace by the host in EL1

Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220726073750.3219117-11-kaleshsingh@google.com
arch/arm64/include/asm/stacktrace/common.h
arch/arm64/include/asm/stacktrace/nvhe.h
arch/arm64/kvm/arm.c