re-introduce native breakpoints
This commit is contained in:
parent
c517abdcf9
commit
3f646cd636
18
cpu.c
18
cpu.c
@ -89,6 +89,8 @@ int libafl_qemu_num_regs(CPUState* cpu);
|
||||
|
||||
int libafl_qemu_set_breakpoint(target_ulong addr);
|
||||
int libafl_qemu_remove_breakpoint(target_ulong addr);
|
||||
void libafl_qemu_set_native_breakpoint( vaddr );
|
||||
void libafl_qemu_remove_native_breakpoint( vaddr );
|
||||
size_t libafl_qemu_set_hook(target_ulong pc, void (*callback)(target_ulong, uint64_t),
|
||||
uint64_t data, int invalidate);
|
||||
size_t libafl_qemu_remove_hooks_at(target_ulong addr, int invalidate);
|
||||
@ -226,6 +228,22 @@ int libafl_qemu_remove_breakpoint(target_ulong pc)
|
||||
return r;
|
||||
}
|
||||
|
||||
void libafl_qemu_set_native_breakpoint(vaddr pc)
|
||||
{
|
||||
CPUState *cpu;
|
||||
CPU_FOREACH(cpu) {
|
||||
cpu_breakpoint_insert(cpu, pc, BP_GDB, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void libafl_qemu_remove_native_breakpoint(vaddr pc)
|
||||
{
|
||||
CPUState *cpu;
|
||||
CPU_FOREACH(cpu) {
|
||||
cpu_breakpoint_remove(cpu, pc, BP_GDB);
|
||||
}
|
||||
}
|
||||
|
||||
size_t libafl_qemu_set_hook(target_ulong pc, void (*callback)(target_ulong, uint64_t),
|
||||
uint64_t data, int invalidate)
|
||||
{
|
||||
|
@ -305,7 +305,10 @@ void cpu_handle_guest_debug(CPUState *cpu)
|
||||
cpu_single_step(cpu, 0);
|
||||
}
|
||||
} else {
|
||||
gdb_set_stop_cpu(cpu);
|
||||
/* Begin LibAFL changes */
|
||||
// With LibAFL Breakpoints there is no gdb attached.
|
||||
// gdb_set_stop_cpu(cpu);
|
||||
/* End LibAFL changes */
|
||||
qemu_system_debug_request();
|
||||
cpu->stopped = true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user