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
refactor: use a more decent physical memory map
[lunaix-os.git]
/
lunaix-os
/
kernel
/
mm
/
mmap.c
diff --git
a/lunaix-os/kernel/mm/mmap.c
b/lunaix-os/kernel/mm/mmap.c
index 8a4c9bc6af509a653477f61833b389b2ce9e549d..d183c63837c4caa99f8a2d631d9ef4482d64a9a0 100644
(file)
--- a/
lunaix-os/kernel/mm/mmap.c
+++ b/
lunaix-os/kernel/mm/mmap.c
@@
-10,7
+10,7
@@
#include <sys/mm/mempart.h>
// any size beyond this is bullshit
#include <sys/mm/mempart.h>
// any size beyond this is bullshit
-#define BS_SIZE (KERNEL_EXEC - U
MMAP_START
)
+#define BS_SIZE (KERNEL_EXEC - U
SR_MMAP
)
int
mem_has_overlap(vm_regions_t* regions, ptr_t start, ptr_t end)
int
mem_has_overlap(vm_regions_t* regions, ptr_t start, ptr_t end)
@@
-66,7
+66,7
@@
mem_map(void** addr_out,
{
assert_msg(addr, "addr can not be NULL");
{
assert_msg(addr, "addr can not be NULL");
- ptr_t last_end = US
ER_START
, found_loc = addr;
+ ptr_t last_end = US
R_EXEC
, found_loc = addr;
struct mm_region *pos, *n;
vm_regions_t* vm_regions = ¶m->pvms->regions;
struct mm_region *pos, *n;
vm_regions_t* vm_regions = ¶m->pvms->regions;
@@
-103,7
+103,7
@@
mem_map(void** addr_out,
return ENOMEM;
found:
return ENOMEM;
found:
- if (found_loc >= KERNEL_EXEC || found_loc < US
ER_START
) {
+ if (found_loc >= KERNEL_EXEC || found_loc < US
R_EXEC
) {
return ENOMEM;
}
return ENOMEM;
}
@@
-306,8
+306,8
@@
__DEFINE_LXSYSCALL3(void*, sys_mmap, void*, addr, size_t, length, va_list, lst)
}
if (!addr_ptr) {
}
if (!addr_ptr) {
- addr_ptr = U
MMAP_START
;
- } else if (addr_ptr < U
MMAP_START || addr_ptr + length >= U
MMAP_END) {
+ addr_ptr = U
SR_MMAP
;
+ } else if (addr_ptr < U
SR_MMAP || addr_ptr + length >= USR_
MMAP_END) {
if (!(options & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
errno = ENOMEM;
goto done;
if (!(options & (MAP_FIXED | MAP_FIXED_NOREPLACE))) {
errno = ENOMEM;
goto done;