Nucleus
Barry Kernel threads + threads share address space 6217f0d (3 years, 1 month ago)
diff --git a/memory/frame.c b/memory/frame.c
index 428aae9..0e0f8fd 100644
--- a/memory/frame.c
+++ b/memory/frame.c
@@ -174,6 +174,7 @@ init_frames(uint32_t size, void *addr)
struct {uint32_t start, end;} remaps[] = {
{.start = 0x0000, .end = bumpAlloc}, /* PMM bitmaps */
{.start = 0x100000, .end = 0x180000 }, /* Kernel */
+ {.start = 0x200000, .end = 0x800000 }, /* Kernel heap */
};
/* Check bitmaps */
@@ -183,10 +184,11 @@ init_frames(uint32_t size, void *addr)
numFrames += region->numFrames;
uintptr_t end = region->base + (region->numFrames * PAGE_SIZE);
/* Iterate the remaps[] to find overlapping regions */
- for (i = 0; i < sizeof(remaps)/sizeof(remaps[0]); i++)
+ for (i = 0; i < sizeof(remaps)/sizeof(remaps[0]); i++) {
for (j = remaps[i].start;
j < remaps[i].end && j >= region->base && j < end;
j += PAGE_SIZE)
set_frame(region, (j - region->base) >> 12);
+ }
}
}