diff options
| author | 2018-03-14 22:08:15 -0400 | |
|---|---|---|
| committer | 2018-03-16 18:32:23 -0400 | |
| commit | 8581404482e31b6ef6adc522b303baddaec760ec (patch) | |
| tree | 816e82fbebfd41fbc55435b63b58fd5f50342b53 /src/core/hle/kernel | |
| parent | memory: Add regions for map region, "new" map region, etc. (diff) | |
| download | yuzu-8581404482e31b6ef6adc522b303baddaec760ec.tar.gz yuzu-8581404482e31b6ef6adc522b303baddaec760ec.tar.xz yuzu-8581404482e31b6ef6adc522b303baddaec760ec.zip | |
kernel: Move stack region outside of application heap.
Diffstat (limited to 'src/core/hle/kernel')
| -rw-r--r-- | src/core/hle/kernel/kernel.h | 4 | ||||
| -rw-r--r-- | src/core/hle/kernel/process.cpp | 5 | ||||
| -rw-r--r-- | src/core/hle/kernel/thread.cpp | 2 |
3 files changed, 3 insertions, 8 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index c77e58f3c..053bf4e17 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h | |||
| @@ -33,10 +33,6 @@ enum class HandleType : u32 { | |||
| 33 | ServerSession, | 33 | ServerSession, |
| 34 | }; | 34 | }; |
| 35 | 35 | ||
| 36 | enum { | ||
| 37 | DEFAULT_STACK_SIZE = 0x10000, | ||
| 38 | }; | ||
| 39 | |||
| 40 | enum class ResetType { | 36 | enum class ResetType { |
| 41 | OneShot, | 37 | OneShot, |
| 42 | Sticky, | 38 | Sticky, |
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 8987a0e38..5711b5247 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp | |||
| @@ -121,9 +121,8 @@ void Process::Run(VAddr entry_point, s32 main_thread_priority, u32 stack_size) { | |||
| 121 | // TODO(bunnei): This is heap area that should be allocated by the kernel and not mapped as part | 121 | // TODO(bunnei): This is heap area that should be allocated by the kernel and not mapped as part |
| 122 | // of the user address space. | 122 | // of the user address space. |
| 123 | vm_manager | 123 | vm_manager |
| 124 | .MapMemoryBlock(Memory::HEAP_VADDR_END - stack_size, | 124 | .MapMemoryBlock(Memory::STACK_VADDR, std::make_shared<std::vector<u8>>(stack_size, 0), 0, |
| 125 | std::make_shared<std::vector<u8>>(stack_size, 0), 0, stack_size, | 125 | stack_size, MemoryState::Mapped) |
| 126 | MemoryState::Mapped) | ||
| 127 | .Unwrap(); | 126 | .Unwrap(); |
| 128 | misc_memory_used += stack_size; | 127 | misc_memory_used += stack_size; |
| 129 | memory_region->used += stack_size; | 128 | memory_region->used += stack_size; |
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 419ad1e63..a39c53db5 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp | |||
| @@ -357,7 +357,7 @@ SharedPtr<Thread> SetupMainThread(VAddr entry_point, u32 priority, | |||
| 357 | 357 | ||
| 358 | // Initialize new "main" thread | 358 | // Initialize new "main" thread |
| 359 | auto thread_res = Thread::Create("main", entry_point, priority, 0, THREADPROCESSORID_0, | 359 | auto thread_res = Thread::Create("main", entry_point, priority, 0, THREADPROCESSORID_0, |
| 360 | Memory::HEAP_VADDR_END, owner_process); | 360 | Memory::STACK_VADDR_END, owner_process); |
| 361 | 361 | ||
| 362 | SharedPtr<Thread> thread = std::move(thread_res).Unwrap(); | 362 | SharedPtr<Thread> thread = std::move(thread_res).Unwrap(); |
| 363 | 363 | ||