From 141d520025b64f84a520a0faab04e823516beca5 Mon Sep 17 00:00:00 2001 From: Saibotk Date: Tue, 2 Jul 2024 13:09:33 +0200 Subject: [PATCH] feat(riscv): add libafl support --- linux-user/riscv/cpu_loop.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/linux-user/riscv/cpu_loop.c b/linux-user/riscv/cpu_loop.c index 52c49c2e42..8f26962321 100644 --- a/linux-user/riscv/cpu_loop.c +++ b/linux-user/riscv/cpu_loop.c @@ -32,13 +32,34 @@ void cpu_loop(CPURISCVState *env) int trapnr; target_ulong ret; +//// --- Begin LibAFL code --- + + libafl_exit_signal_vm_start(); + +//// --- End LibAFL code --- + for (;;) { + +//// --- Begin LibAFL code --- + + if (libafl_exit_asap()) return; + +//// --- End LibAFL code --- + cpu_exec_start(cs); trapnr = cpu_exec(cs); cpu_exec_end(cs); process_queued_cpu_work(cs); switch (trapnr) { + +//// --- Begin LibAFL code --- + + case EXCP_LIBAFL_EXIT: + return; + +//// --- End LibAFL code --- + case EXCP_INTERRUPT: /* just indicate that signals should be handled asap */ break;