mmap() and friends using vm regions
[akaros.git] / kern / include / ros / memlayout.h
index 1f57c3d..7bce867 100644 (file)
  */
 
 
-// All physical memory mapped at this address
-#define        KERNBASE        0xC0000000
-
-// Use this if needed in annotations
-#define IVY_KERNBASE (0xC000U << 16)
-
 // At IOPHYSMEM (640K) there is a 384K hole for I/O.  From the kernel,
 // IOPHYSMEM can be addressed at KERNBASE + IOPHYSMEM.  The hole ends
 // at physical address EXTPHYSMEM.
 
 // Top of one-page user exception stack
 #define UXSTACKTOP     UGDATA
+/* Limit of what is mmap()/munmap()-able */
+#define UMAPTOP UXSTACKTOP
 // Next page left invalid to guard against exception stack overflow; then:
 // Top of normal user stack
 #define USTACKTOP      (UXSTACKTOP - 2*PGSIZE)
 // Maximum bottom of normal user stack
 #define USTACKBOT      (USTACKTOP - (USTACK_NUM_PAGES+1)*PGSIZE)
 
+// Arbitrary boundary between the break and the start of
+// memory returned by calls to mmap with addr = 0
+#define BRK_END 0x20000000
+
 // Where user programs generally begin
 #define UTEXT          (2*PTSIZE)
 
  * will always be available at virtual address (VPT + (VPT >> PGSHIFT)), to
  * which vpd is set in entry.S.
  */
-typedef uint32_t pte_t;
-typedef uint32_t pde_t;
 
 #ifdef __IVY__
 #pragma cilnoremove("vpt_lock", "vpd_lock")