From 5eab649255edc210c1e05ae62d2cb6fd0f328d8c Mon Sep 17 00:00:00 2001 From: Frans Kaashoek Date: Mon, 22 Jul 2019 14:30:45 -0400 Subject: [PATCH] Allocate 2 pages per proc, with the top one unmapped. The page below the last proc is unmapped by default (because the kernel doesn't map anything right below the kernel stacks). --- kernel/memlayout.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/memlayout.h b/kernel/memlayout.h index 13d1705..ef5c1e1 100644 --- a/kernel/memlayout.h +++ b/kernel/memlayout.h @@ -53,4 +53,4 @@ // map the trampoline page to the highest address, // in both user and kernel space. #define TRAMPOLINE (MAXVA - PGSIZE) -#define KSTACK(p) ((TRAMPOLINE-PGSIZE)-p*2*PGSIZE) +#define KSTACK(p) (TRAMPOLINE - (p+1)* 2*PGSIZE)