git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into sata-ahci-dev
[lunaix-os.git]
/
lunaix-os
/
kernel
/
mm
/
kalloc.c
diff --git
a/lunaix-os/kernel/mm/kalloc.c
b/lunaix-os/kernel/mm/kalloc.c
index d5116a2c15b331a1bbb282896a601a9855134176..6b5b878d12a5b188270af05f0fa096de78a3a79e 100644
(file)
--- a/
lunaix-os/kernel/mm/kalloc.c
+++ b/
lunaix-os/kernel/mm/kalloc.c
@@
-59,17
+59,15
@@
lx_grow_heap(heap_context_t* heap, size_t sz);
Note: the brk always point to the beginning of epilogue.
*/
Note: the brk always point to the beginning of epilogue.
*/
-// FIXME: This should be per-process but not global!
static heap_context_t kheap;
static heap_context_t kheap;
-#define KHEAP_SIZE_MB 256
-
int
kalloc_init()
{
int
kalloc_init()
{
- kheap.start =
&__kernel_heap_start
;
+ kheap.start =
KHEAP_START
;
kheap.brk = NULL;
kheap.brk = NULL;
- kheap.max_addr = (void*)((uintptr_t)kheap.start + (KHEAP_SIZE_MB << 20));
+ kheap.max_addr =
+ (void*)PROC_START; // 在新的布局中,堆结束的地方即为进程表开始的地方
for (size_t i = 0; i < KHEAP_SIZE_MB >> 2; i++) {
vmm_set_mapping(PD_REFERENCED,
for (size_t i = 0; i < KHEAP_SIZE_MB >> 2; i++) {
vmm_set_mapping(PD_REFERENCED,