diff options
-rw-r--r-- | kernel/fs/devfs.c | 2 | ||||
-rw-r--r-- | kernel/fs/vfs.c | 2 | ||||
-rw-r--r-- | kernel/kmalloc.c | 25 | ||||
-rw-r--r-- | kernel/kmalloc.h | 5 | ||||
-rw-r--r-- | kernel/socket.c | 2 |
5 files changed, 3 insertions, 33 deletions
diff --git a/kernel/fs/devfs.c b/kernel/fs/devfs.c index 0fd082d..7d880f6 100644 --- a/kernel/fs/devfs.c +++ b/kernel/fs/devfs.c @@ -82,7 +82,7 @@ void add_stdout(void) { } vfs_inode_t *devfs_mount(void) { - vfs_inode_t *root = kmalloc_eternal(sizeof(vfs_inode_t)); + vfs_inode_t *root = kmalloc(sizeof(vfs_inode_t)); root->open = devfs_open; root->read = devfs_read; root->write = devfs_write; diff --git a/kernel/fs/vfs.c b/kernel/fs/vfs.c index 0c62db8..dece40e 100644 --- a/kernel/fs/vfs.c +++ b/kernel/fs/vfs.c @@ -310,7 +310,7 @@ int vfs_ftruncate(int fd, size_t length) { void vfs_mount(char *path, vfs_inode_t *local_root) { int len = strlen(path); - mounts[num_mounts].path = kmalloc_eternal(len + 1); + mounts[num_mounts].path = kmalloc(len + 1); memcpy(mounts[num_mounts].path, path, len); mounts[num_mounts].path[len] = '\0'; mounts[num_mounts].local_root = local_root; diff --git a/kernel/kmalloc.c b/kernel/kmalloc.c index 8a674f5..3871d62 100644 --- a/kernel/kmalloc.c +++ b/kernel/kmalloc.c @@ -147,31 +147,6 @@ void *kmalloc(size_t s) { return rc; } -#define HEAP 0x00E00000 -#define PHYS 0x403000 - -void *latest = NULL; -u64 left = 0; - -void *kmalloc_eternal_physical_align(size_t s, void **physical) { - void *return_address = ksbrk(s); - if (physical) { - if (0 == get_active_pagedirectory()) - *physical = - (void *)((uintptr_t)return_address - (0xC0000000 + PHYS) + HEAP); - else - *physical = (void *)virtual_to_physical(return_address, 0); - } - memset(return_address, 0, 0x1000); - return return_address; -} - -void *kmalloc_eternal_align(size_t s) { - return kmalloc_eternal_physical_align(s, NULL); -} - -void *kmalloc_eternal(size_t s) { return kmalloc_eternal_align(s); } - size_t get_mem_size(void *ptr) { if (!ptr) return 0; diff --git a/kernel/kmalloc.h b/kernel/kmalloc.h index 6509cb0..94806f3 100644 --- a/kernel/kmalloc.h +++ b/kernel/kmalloc.h @@ -6,11 +6,6 @@ void kmalloc_allocate_heap(void); -void *kmalloc_eternal(size_t size); -void *kmalloc_eternal_align(size_t size); -void *kmalloc_eternal_physical(size_t size, void **physical); -void *kmalloc_eternal_physical_align(size_t size, void **physical); - void *kmalloc(size_t s); void *kmalloc_align(size_t s); void *krealloc(void *ptr, size_t size); diff --git a/kernel/socket.c b/kernel/socket.c index 3f78720..65ba771 100644 --- a/kernel/socket.c +++ b/kernel/socket.c @@ -272,7 +272,7 @@ int socket(int domain, int type, int protocol) { if (!(AF_UNIX == domain || AF_INET == domain)) return -EINVAL; - SOCKET *new_socket = kmalloc_eternal(sizeof(SOCKET)); + SOCKET *new_socket = kmalloc(sizeof(SOCKET)); vfs_inode_t *inode = vfs_create_inode( 0 /*inode_num*/, FS_TYPE_UNIX_SOCKET, 0 /*has_data*/, 1 /*can_write*/, 1 /*is_open*/, new_socket /*internal_object*/, 0 /*file_size*/, |