HLT callback to Bochs internal debugger

This commit is contained in:
Stanislav Shwartsman 2008-03-23 21:39:01 +00:00
parent 7bd2cf39d3
commit a22160959b
3 changed files with 13 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: dbg_main.cc,v 1.116 2008-03-23 21:25:13 sshwarts Exp $
// $Id: dbg_main.cc,v 1.117 2008-03-23 21:39:01 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -480,6 +480,11 @@ void bx_dbg_interrupt(unsigned cpu, Bit8u vector, Bit16u error_code)
}
}
void bx_dbg_halt(unsigned cpu)
{
dbg_printf("CPU %d: HALTED\n");
}
void bx_dbg_exit(int code)
{
BX_DEBUG(("dbg: before exit"));

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: debug.h,v 1.37 2008-02-05 22:33:33 sshwarts Exp $
// $Id: debug.h,v 1.38 2008-03-23 21:39:01 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -293,6 +293,7 @@ void bx_dbg_calc_command(Bit64u value);
void bx_dbg_dump_table(void);
void bx_dbg_exception(unsigned cpu, Bit8u vector, Bit16u error_code);
void bx_dbg_interrupt(unsigned cpu, Bit8u vector, Bit16u error_code);
void bx_dbg_halt(unsigned cpu);
// commands that work with Bochs param tree
void bx_dbg_restore_command(const char *param_name, const char *path);

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: proc_ctrl.cc,v 1.204 2008-03-22 21:29:41 sshwarts Exp $
// $Id: proc_ctrl.cc,v 1.205 2008-03-23 21:39:01 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -124,6 +124,10 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::HLT(bxInstruction_c *i)
BX_INSTR_HLT(BX_CPU_ID);
#if BX_DEBUGGER
bx_dbg_halt(BX_CPU_ID);
#endif
#if BX_USE_IDLE_HACK
bx_gui->sim_is_idle();
#endif