Added function for generate LoadSymbolsStateChange packet. Signed-off-by: Mihail Abakumov <mikhail.abaku...@ispras.ru> Signed-off-by: Pavel Dovgalyuk <dovga...@ispras.ru> Signed-off-by: Dmitriy Koltunov <koltu...@ispras.ru> --- include/exec/windbgstub-utils.h | 1 + target/i386/windbgstub.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+)
diff --git a/include/exec/windbgstub-utils.h b/include/exec/windbgstub-utils.h index f35873eca0..8558bc6c8a 100755 --- a/include/exec/windbgstub-utils.h +++ b/include/exec/windbgstub-utils.h @@ -87,6 +87,7 @@ InitedAddr *windbg_get_KPCR(void); InitedAddr *windbg_get_version(void); SizedBuf kd_gen_exception_sc(CPUState *cpu); +SizedBuf kd_gen_load_symbols_sc(CPUState *cpu); bool windbg_on_load(void); diff --git a/target/i386/windbgstub.c b/target/i386/windbgstub.c index f0edd94dde..261e441db1 100755 --- a/target/i386/windbgstub.c +++ b/target/i386/windbgstub.c @@ -133,4 +133,19 @@ SizedBuf kd_gen_exception_sc(CPUState *cpu) return buf; } +SizedBuf kd_gen_load_symbols_sc(CPUState *cpu) +{ + DBGKD_ANY_WAIT_STATE_CHANGE *sc; + SizedBuf buf; + + SBUF_MALLOC(buf, sizeof(DBGKD_ANY_WAIT_STATE_CHANGE)); + sc = (DBGKD_ANY_WAIT_STATE_CHANGE *) buf.data; + kd_init_state_change(cpu, sc); + + stl_p(&sc->NewState, DbgKdLoadSymbolsStateChange); + stl_p(&sc->u.LoadSymbols.PathNameLength, 0); + + return buf; +} + #endif