diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-20 12:28:30 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2021-12-20 12:37:55 +0200 |
| commit | dc2e2cc9dc9d7790e23dd9a4ccc265d7bb6d76aa (patch) | |
| tree | ee12863bb4aab536810bbe13638bf21317b37658 /common | |
| parent | 98255910aa82c27d04ba79704086eca2310b3075 (diff) | |
| download | kmi-dc2e2cc9dc9d7790e23dd9a4ccc265d7bb6d76aa.tar.gz kmi-dc2e2cc9dc9d7790e23dd9a4ccc265d7bb6d76aa.zip | |
Added init back
Diffstat (limited to 'common')
| -rw-r--r-- | common/elf.c | 2 | ||||
| -rw-r--r-- | common/initrd.c | 2 | ||||
| -rw-r--r-- | common/vmem.c | 5 |
3 files changed, 5 insertions, 4 deletions
diff --git a/common/elf.c b/common/elf.c index 7531bd1..83411e9 100644 --- a/common/elf.c +++ b/common/elf.c @@ -5,5 +5,5 @@ vm_t bin_entry(vm_t bin) { struct elf_header *e = (struct elf_header *)bin; /* TODO: check that address points to a valid ELF executable */ - return (vm_t)e->e_entry; + return ((vm_t)e->e_entry) + bin; } diff --git a/common/initrd.c b/common/initrd.c index f625209..6dd698d 100644 --- a/common/initrd.c +++ b/common/initrd.c @@ -75,7 +75,7 @@ pm_t get_initrdbase(void *fdt) } static char init_n[] = "init"; -static size_t init_nlen = ARRAY_SIZE(init_n); +static size_t init_nlen = ARRAY_SIZE(init_n) - 1; /* ignore trailing NULL */ size_t get_init_size(void *fdt) { diff --git a/common/vmem.c b/common/vmem.c index 25a8617..6d2b7dc 100644 --- a/common/vmem.c +++ b/common/vmem.c @@ -101,10 +101,11 @@ static struct sp_mem *sp_used_insert_region(struct sp_reg_root *r, struct sp_mem return m; } -int sp_mem_init(struct sp_reg_root *r, size_t arena_size) +int sp_mem_init(struct sp_reg_root *r, vm_t start, size_t arena_size) { struct sp_mem *m = get_mem_node(); - m->end = arena_size; + m->start = start; + m->end = start + arena_size; sp_free_insert_region(r, m); return 0; |
