kern: implement new thread context/fpu semantics
This commit is contained in:
1 parent
79afa3b64c
commit
6e17317d5d
21 files changed
+1291
-668
No files matched your search
@@ -447,7 +447,7 @@ namespace ams::kern {
|
||||
{
|
||||
auto end = target->GetThreadList().end();
|
||||
for (auto it = target->GetThreadList().begin(); it != end; ++it) {
|
||||
it->ClearSingleStep();
|
||||
it->ClearHardwareSingleStep();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -595,13 +595,13 @@ namespace ams::kern {
|
||||
{
|
||||
if ((context_flags & ams::svc::ThreadContextFlag_SetSingleStep) != 0) {
|
||||
/* Set single step. */
|
||||
thread->SetSingleStep();
|
||||
thread->SetHardwareSingleStep();
|
||||
|
||||
/* If no other thread flags are present, we're done. */
|
||||
R_SUCCEED_IF((context_flags & ~ams::svc::ThreadContextFlag_SetSingleStep) == 0);
|
||||
} else if ((context_flags & ams::svc::ThreadContextFlag_ClearSingleStep) != 0) {
|
||||
/* Clear single step. */
|
||||
thread->ClearSingleStep();
|
||||
thread->ClearHardwareSingleStep();
|
||||
|
||||
/* If no other thread flags are present, we're done. */
|
||||
R_SUCCEED_IF((context_flags & ~ams::svc::ThreadContextFlag_ClearSingleStep) == 0);
|
||||
@@ -1022,7 +1022,7 @@ namespace ams::kern {
|
||||
for (auto it = process->GetThreadList().begin(); it != end; ++it) {
|
||||
#if defined(MESOSPHERE_ENABLE_HARDWARE_SINGLE_STEP)
|
||||
/* Clear the thread's single-step state. */
|
||||
it->ClearSingleStep();
|
||||
it->ClearHardwareSingleStep();
|
||||
#endif
|
||||
|
||||
if (resume) {
|
||||
|
||||
Reference in new issue
Block a user