forked from OSchip/llvm-project
Added documentation or the new QSaveRegisterState and QRestoreRegisterState packets.
llvm-svn: 194631
This commit is contained in:
parent
4b7afe5523
commit
5d719f2744
|
@ -855,6 +855,61 @@ for this region.
|
|||
// D
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// QSaveRegisterState
|
||||
// QSaveRegisterState;thread:XXXX;
|
||||
//
|
||||
// BRIEF
|
||||
// The QSaveRegisterState packet tells the remote debugserver to save
|
||||
// all registers and return a non-zero unique integer ID that
|
||||
// represents these save registers. If thread suffixes are enabled the
|
||||
// second form of this packet is used, otherwise the first form is
|
||||
// used. This packet is called prior to executing an expression, so
|
||||
// the remote GDB server should do anything it needs to in order to
|
||||
// ensure the registers that are saved are correct. On MacOSX this
|
||||
// involves calling "thread_abort_safely(mach_port_t thread)" to
|
||||
// ensure we get the correct registers for a thread in case it is
|
||||
// currently having code run on its behalf in the kernel.
|
||||
//
|
||||
// RESPONSE
|
||||
// unsigned - The save_id result is a non-zero unsigned integer value
|
||||
// that can be passed back to the GDB server using a
|
||||
// QRestoreRegisterState packet to restore the registers
|
||||
// one time.
|
||||
// "EXX" - or an error code in the form of EXX where XX is a
|
||||
// hex error code.
|
||||
//
|
||||
// PRIORITY TO IMPLEMENT
|
||||
// Low, this is mostly a convenience packet to avoid having to send all
|
||||
// registers via a g packet. It should only be implemented if support
|
||||
// for the QRestoreRegisterState is added.
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// QRestoreRegisterState:<save_id>
|
||||
// QRestoreRegisterState:<save_id>;thread:XXXX;
|
||||
//
|
||||
// BRIEF
|
||||
// The QRestoreRegisterState packet tells the remote debugserver to
|
||||
// restore all registers using the "save_id" which is an unsigned
|
||||
// integer that was returned from a previous call to
|
||||
// QSaveRegisterState. The restoration process can only be done once
|
||||
// as the data backing the register state will be freed upon the
|
||||
// completion of the QRestoreRegisterState command.
|
||||
//
|
||||
// If thread suffixes are enabled the second form of this packet is
|
||||
// used, otherwise the first form is used.
|
||||
//
|
||||
// RESPONSE
|
||||
// "OK" - if all registers were successfully restored
|
||||
// "EXX" - for any errors
|
||||
//
|
||||
// PRIORITY TO IMPLEMENT
|
||||
// Low, this is mostly a convenience packet to avoid having to send all
|
||||
// registers via a g packet. It should only be implemented if support
|
||||
// for the QSaveRegisterState is added.
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Stop reply packet extensions
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue