summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/process.h
diff options
context:
space:
mode:
authorGravatar bunnei2019-07-18 13:53:04 -0400
committerGravatar GitHub2019-07-18 13:53:04 -0400
commit5d369112d9d467d4257e24ce57f3ebba824556f0 (patch)
treeff5dcc2c614dd7d257a0993b651a546e31c5ce9a /src/core/hle/kernel/process.h
parentMerge pull request #2738 from lioncash/shader-ir (diff)
parentkernel/process: Allocate the process' TLS region during initialization (diff)
downloadyuzu-5d369112d9d467d4257e24ce57f3ebba824556f0.tar.gz
yuzu-5d369112d9d467d4257e24ce57f3ebba824556f0.tar.xz
yuzu-5d369112d9d467d4257e24ce57f3ebba824556f0.zip
Merge pull request #2687 from lioncash/tls-process
kernel/process: Allocate the process' TLS region during initialization
Diffstat (limited to 'src/core/hle/kernel/process.h')
-rw-r--r--src/core/hle/kernel/process.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h
index 3196014da..c2df451f3 100644
--- a/src/core/hle/kernel/process.h
+++ b/src/core/hle/kernel/process.h
@@ -135,6 +135,11 @@ public:
135 return mutex; 135 return mutex;
136 } 136 }
137 137
138 /// Gets the address to the process' dedicated TLS region.
139 VAddr GetTLSRegionAddress() const {
140 return tls_region_address;
141 }
142
138 /// Gets the current status of the process 143 /// Gets the current status of the process
139 ProcessStatus GetStatus() const { 144 ProcessStatus GetStatus() const {
140 return status; 145 return status;
@@ -296,6 +301,9 @@ private:
296 /// a process signal. 301 /// a process signal.
297 void ChangeStatus(ProcessStatus new_status); 302 void ChangeStatus(ProcessStatus new_status);
298 303
304 /// Allocates the main thread stack for the process, given the stack size in bytes.
305 void AllocateMainThreadStack(u64 stack_size);
306
299 /// Memory manager for this process. 307 /// Memory manager for this process.
300 Kernel::VMManager vm_manager; 308 Kernel::VMManager vm_manager;
301 309
@@ -358,6 +366,9 @@ private:
358 /// variable related facilities. 366 /// variable related facilities.
359 Mutex mutex; 367 Mutex mutex;
360 368
369 /// Address indicating the location of the process' dedicated TLS region.
370 VAddr tls_region_address = 0;
371
361 /// Random values for svcGetInfo RandomEntropy 372 /// Random values for svcGetInfo RandomEntropy
362 std::array<u64, RANDOM_ENTROPY_SIZE> random_entropy{}; 373 std::array<u64, RANDOM_ENTROPY_SIZE> random_entropy{};
363 374