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 fea04cbc89..1c43be7c41 100755 --- a/include/exec/windbgstub-utils.h +++ b/include/exec/windbgstub-utils.h @@ -94,6 +94,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 334642b677..314301545b 100755 --- a/target/i386/windbgstub.c +++ b/target/i386/windbgstub.c @@ -130,3 +130,18 @@ 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; +}