From 5f10b6670dd511a41e8b9e435d4a8ccfce53417b Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Tue, 11 Oct 2022 22:52:09 -0700 Subject: [PATCH] kern: increase stack region size when thread resource limit is increased --- libmesosphere/include/mesosphere/kern_k_memory_layout.hpp | 2 +- libmesosphere/source/kern_k_memory_layout.cpp | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/libmesosphere/include/mesosphere/kern_k_memory_layout.hpp b/libmesosphere/include/mesosphere/kern_k_memory_layout.hpp index 2c497072..f5392880 100644 --- a/libmesosphere/include/mesosphere/kern_k_memory_layout.hpp +++ b/libmesosphere/include/mesosphere/kern_k_memory_layout.hpp @@ -187,7 +187,7 @@ namespace ams::kern { static void InitializeLinearMemoryRegionTrees(); - static size_t GetResourceRegionSizeForInit(); + static size_t GetResourceRegionSizeForInit(bool use_extra_resource); static MESOSPHERE_NOINLINE_IF_DEBUG auto GetKernelRegionExtents() { return GetVirtualMemoryRegionTree().GetDerivedRegionExtents(KMemoryRegionType_Kernel); } static MESOSPHERE_NOINLINE_IF_DEBUG auto GetKernelCodeRegionExtents() { return GetVirtualMemoryRegionTree().GetDerivedRegionExtents(KMemoryRegionType_KernelCode); } diff --git a/libmesosphere/source/kern_k_memory_layout.cpp b/libmesosphere/source/kern_k_memory_layout.cpp index 9e0c4cf4..2084f98f 100644 --- a/libmesosphere/source/kern_k_memory_layout.cpp +++ b/libmesosphere/source/kern_k_memory_layout.cpp @@ -126,11 +126,8 @@ namespace ams::kern { } } - size_t KMemoryLayout::GetResourceRegionSizeForInit() { - /* Calculate resource region size based on whether we allow extra threads. */ - const bool use_extra_resources = KSystemControl::Init::ShouldIncreaseThreadResourceLimit(); - - return KernelResourceSize + (use_extra_resources ? KernelSlabHeapAdditionalSize : 0); + size_t KMemoryLayout::GetResourceRegionSizeForInit(bool use_extra_resource) { + return KernelResourceSize + (use_extra_resource ? KernelSlabHeapAdditionalSize : 0); } }