Core/Memory: Give every emulated thread it's own TLS area.

The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200.
This allows some games like Mario Kart 7 to continue further.
This commit is contained in:
Subv 2015-05-10 18:35:37 -05:00
parent ba0bfe7d82
commit 000876858d
8 changed files with 31 additions and 11 deletions

View file

@ -135,6 +135,12 @@ public:
*/
void Stop();
/*
* Returns the Thread Local Storage address of the current thread
* @returns VAddr of the thread's TLS
*/
VAddr GetTLSAddress() const;
Core::ThreadContext context;
u32 thread_id;