perf: Clean up perf_{session,alloc} management
[akaros.git] / kern / include / ros / memlayout.h
1 #pragma once
2
3 #ifndef __ASSEMBLER__
4 #include <ros/common.h>
5 #endif /* not __ASSEMBLER__ */
6
7 #include <ros/arch/mmu.h>
8
9 /*
10  * This file contains definitions for memory management in our OS,
11  * which are relevant to both the kernel and user-mode software.
12  */
13
14 /* TODO: sort out multiboot being in src/ (depends on this) */
15 #ifndef EXTPHYSMEM
16 #define EXTPHYSMEM      0x100000
17 #endif
18
19 /* Read-only, global shared info structures */
20 #define UGINFO                  (UVPT - PTSIZE)
21 /* Read-only, per-process shared info structures */
22 #define UINFO                   (UGINFO - PTSIZE)
23 /* Top of user-writable VM */
24 #define UWLIM                   UINFO
25 /* Read-write, per-process shared info structures */
26 #define UDATA                   (UWLIM - PTSIZE)
27 /* Read-write, global page.  Shared by all processes. */
28 #define UGDATA                  (UDATA - PGSIZE)
29 /* Limit of what is mmap()/munmap()-able */
30 #define UMAPTOP                 UGDATA
31 /* Top of normal user stack */
32 #define USTACKTOP               UMAPTOP
33 /* Stack size of thread0, allocated by the kernel */
34 #define USTACK_NUM_PAGES        256