diff options
author | Robert Morris <[email protected]> | 2019-07-22 14:54:40 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2019-07-22 14:54:40 -0400 |
commit | 6b379e4707d693bb383f51647f66ec5471d26979 (patch) | |
tree | 95d319b7b3f0747dce88ce1583483cca7c13784e /kernel/memlayout.h | |
parent | 5eab649255edc210c1e05ae62d2cb6fd0f328d8c (diff) | |
download | xv6-labs-6b379e4707d693bb383f51647f66ec5471d26979.tar.gz xv6-labs-6b379e4707d693bb383f51647f66ec5471d26979.tar.bz2 xv6-labs-6b379e4707d693bb383f51647f66ec5471d26979.zip |
-MD and TRAPFRAME
Diffstat (limited to 'kernel/memlayout.h')
-rw-r--r-- | kernel/memlayout.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/kernel/memlayout.h b/kernel/memlayout.h index ef5c1e1..c15e398 100644 --- a/kernel/memlayout.h +++ b/kernel/memlayout.h @@ -53,4 +53,15 @@ // map the trampoline page to the highest address, // in both user and kernel space. #define TRAMPOLINE (MAXVA - PGSIZE) -#define KSTACK(p) (TRAMPOLINE - (p+1)* 2*PGSIZE) +#define KSTACK(p) (TRAMPOLINE - ((p)+1)* 2*PGSIZE) + +// User memory layout. +// Address zero first: +// text +// original data and bss +// fixed-size stack +// expandable heap +// ... +// TRAPFRAME (p->tf, used by the trampoline) +// TRAMPOLINE (the same page as in the kernel) +#define TRAPFRAME (TRAMPOLINE - PGSIZE) |