diff options
| author | 2015-05-10 18:35:37 -0500 | |
|---|---|---|
| committer | 2015-05-10 18:35:37 -0500 | |
| commit | 000876858d52d7e4fa8e21bc4407d43d548eff30 (patch) | |
| tree | f0af4cde78349cfe4ea7875b24d37cf85eb3eb03 /src/core/arm/arm_interface.h | |
| parent | Merge pull request #726 from bunnei/gpu-improvements (diff) | |
| download | yuzu-000876858d52d7e4fa8e21bc4407d43d548eff30.tar.gz yuzu-000876858d52d7e4fa8e21bc4407d43d548eff30.tar.xz yuzu-000876858d52d7e4fa8e21bc4407d43d548eff30.zip | |
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.
Diffstat (limited to 'src/core/arm/arm_interface.h')
| -rw-r--r-- | src/core/arm/arm_interface.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index 85ed2c698..976c339e8 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h | |||
| @@ -99,8 +99,9 @@ public: | |||
| 99 | * @param stack_top Pointer to the top of the stack | 99 | * @param stack_top Pointer to the top of the stack |
| 100 | * @param entry_point Entry point for execution | 100 | * @param entry_point Entry point for execution |
| 101 | * @param arg User argument for thread | 101 | * @param arg User argument for thread |
| 102 | * @param tls_address Address of the Thread Local Storage for the thread | ||
| 102 | */ | 103 | */ |
| 103 | virtual void ResetContext(Core::ThreadContext& context, u32 stack_top, u32 entry_point, u32 arg) = 0; | 104 | virtual void ResetContext(Core::ThreadContext& context, u32 stack_top, u32 entry_point, u32 arg, u32 tls_address) = 0; |
| 104 | 105 | ||
| 105 | /** | 106 | /** |
| 106 | * Saves the current CPU context | 107 | * Saves the current CPU context |