memory: Kernel threads require more memory for stack

Threads will now use 128 KiB
This commit is contained in:
EnderIce2 2024-11-18 03:27:06 +02:00
parent 86a119ea51
commit 23301b8c1b
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD
2 changed files with 13 additions and 12 deletions

View File

@ -128,16 +128,16 @@ namespace Memory
}
else
{
Memory::KernelStackManager::StackAllocation sa = StackManager.DetailedAllocate(STACK_SIZE);
Memory::KernelStackManager::StackAllocation sa = StackManager.DetailedAllocate(LARGE_STACK_SIZE);
this->StackBottom = sa.VirtualAddress;
this->StackTop = (void *)((uintptr_t)this->StackBottom + STACK_SIZE);
this->StackTop = (void *)((uintptr_t)this->StackBottom + LARGE_STACK_SIZE);
this->StackPhysicalBottom = sa.PhysicalAddress;
this->StackPhysicalTop = (void *)((uintptr_t)this->StackPhysicalBottom + STACK_SIZE);
this->Size = STACK_SIZE;
this->StackPhysicalTop = (void *)((uintptr_t)this->StackPhysicalBottom + LARGE_STACK_SIZE);
this->Size = LARGE_STACK_SIZE;
debug("StackBottom: %#lx", this->StackBottom);
for (size_t i = 0; i < TO_PAGES(STACK_SIZE); i++)
for (size_t i = 0; i < TO_PAGES(LARGE_STACK_SIZE); i++)
{
AllocatedPages pa = {
.PhysicalAddress = (void *)((uintptr_t)this->StackPhysicalBottom + (i * PAGE_SIZE)),

View File

@ -40,6 +40,7 @@
#define PAGE_SIZE_1G 0x40000000 /* 1 GiB */
#define STACK_SIZE 0x4000 /* 16 KiB */
#define LARGE_STACK_SIZE 0x20000 /* 128 KiB */
#define USER_STACK_SIZE 0x2000 /* 8 KiB */
/* To pages */