From b67c9ae8ab0d4a625f3291fce37c0f2aba5102d5 Mon Sep 17 00:00:00 2001 From: Alwin Berger Date: Fri, 14 Jun 2024 13:54:57 +0200 Subject: [PATCH] add libafl_qemu_read_user_sp_unchecked --- cpu-target.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cpu-target.c b/cpu-target.c index b6233f6bd1..2e465ee144 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -160,6 +160,19 @@ int libafl_qemu_num_regs(CPUState* cpu) return cc->gdb_num_core_regs; } +#ifdef TARGET_ARM +// use-case: get the user-stack pointer and return addr from at an isr-return +#include "target/arm/cpu.h" +#include "target/arm/internals.h" + +int libafl_qemu_read_user_sp_unchecked(CPUState* cpu); +int libafl_qemu_read_user_sp_unchecked(CPUState* cpu) { + CPUARMState *env = cpu_env(cpu); + return env->v7m.other_sp; +} + +#endif + #ifndef CONFIG_USER_ONLY hwaddr libafl_qemu_current_paging_id(CPUState* cpu) {