mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
gdb support for user mode (Paul Brook)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1367 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
6e4255f6a6
commit
1fddef4b1b
14 changed files with 265 additions and 29 deletions
12
exec.c
12
exec.c
|
@ -1076,7 +1076,7 @@ static void tb_reset_jump_recursive(TranslationBlock *tb)
|
|||
tb_reset_jump_recursive2(tb, 1);
|
||||
}
|
||||
|
||||
#if defined(TARGET_I386) || defined(TARGET_PPC) || defined(TARGET_SPARC)
|
||||
#if defined(TARGET_HAS_ICE)
|
||||
static void breakpoint_invalidate(CPUState *env, target_ulong pc)
|
||||
{
|
||||
target_ulong phys_addr;
|
||||
|
@ -1090,7 +1090,7 @@ static void breakpoint_invalidate(CPUState *env, target_ulong pc)
|
|||
breakpoint is reached */
|
||||
int cpu_breakpoint_insert(CPUState *env, target_ulong pc)
|
||||
{
|
||||
#if defined(TARGET_I386) || defined(TARGET_PPC) || defined(TARGET_SPARC)
|
||||
#if defined(TARGET_HAS_ICE)
|
||||
int i;
|
||||
|
||||
for(i = 0; i < env->nb_breakpoints; i++) {
|
||||
|
@ -1112,7 +1112,7 @@ int cpu_breakpoint_insert(CPUState *env, target_ulong pc)
|
|||
/* remove a breakpoint */
|
||||
int cpu_breakpoint_remove(CPUState *env, target_ulong pc)
|
||||
{
|
||||
#if defined(TARGET_I386) || defined(TARGET_PPC) || defined(TARGET_SPARC)
|
||||
#if defined(TARGET_HAS_ICE)
|
||||
int i;
|
||||
for(i = 0; i < env->nb_breakpoints; i++) {
|
||||
if (env->breakpoints[i] == pc)
|
||||
|
@ -1120,9 +1120,9 @@ int cpu_breakpoint_remove(CPUState *env, target_ulong pc)
|
|||
}
|
||||
return -1;
|
||||
found:
|
||||
memmove(&env->breakpoints[i], &env->breakpoints[i + 1],
|
||||
(env->nb_breakpoints - (i + 1)) * sizeof(env->breakpoints[0]));
|
||||
env->nb_breakpoints--;
|
||||
if (i < env->nb_breakpoints)
|
||||
env->breakpoints[i] = env->breakpoints[env->nb_breakpoints];
|
||||
|
||||
breakpoint_invalidate(env, pc);
|
||||
return 0;
|
||||
|
@ -1135,7 +1135,7 @@ int cpu_breakpoint_remove(CPUState *env, target_ulong pc)
|
|||
CPU loop after each instruction */
|
||||
void cpu_single_step(CPUState *env, int enabled)
|
||||
{
|
||||
#if defined(TARGET_I386) || defined(TARGET_PPC) || defined(TARGET_SPARC)
|
||||
#if defined(TARGET_HAS_ICE)
|
||||
if (env->singlestep_enabled != enabled) {
|
||||
env->singlestep_enabled = enabled;
|
||||
/* must flush all the translated code to avoid inconsistancies */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue