core: hle: kernel: Implement thread pinning.

- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp.
This commit is contained in:
bunnei 2021-12-29 21:40:38 -08:00
parent 74e91d06fa
commit b12695ddc4
10 changed files with 140 additions and 14 deletions

View file

@ -307,6 +307,10 @@ public:
return parent != nullptr;
}
u16 GetUserDisableCount() const;
void SetInterruptFlag();
void ClearInterruptFlag();
[[nodiscard]] KThread* GetLockOwner() const {
return lock_owner;
}
@ -490,7 +494,7 @@ public:
this->GetStackParameters().disable_count--;
}
void Pin();
void Pin(s32 current_core);
void Unpin();