gdbstub: Fix order of task list when first BP occurs after tasks created #216
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A remote GDB connects to the SVSM GDB stub after SVSM hits the first breakpoint. At this point the remote GDB does not know which task is halted or anything about the current list of tasks in SVSM. Therefore after requesting the tasklist it assumes the first task (thread) in the list is the one that is halted. See 'qfThreadInfo' documentation at https://sourceware.org/gdb/current/onlinedocs/gdb.html/General-Query-Packets.html for details.
The order of the list of tasks provided by the GDB stub is based on iterating the task list. Therefore the first task reported by SVSM may not be the task that is currently halted.
This patch queries the current task and makes sure it is reported first every time the task list is requested.