From d98ec57128628b81fcd32269a92742a037b7f713 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 26 Dec 2021 17:50:11 +0200 Subject: First useful jump to userspace! --- common/initrd.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'common/initrd.c') diff --git a/common/initrd.c b/common/initrd.c index 61aaaff..18db836 100644 --- a/common/initrd.c +++ b/common/initrd.c @@ -86,6 +86,14 @@ size_t get_init_size(void *fdt) return convnum(cp->c_filesize, 8, 16); } +vm_t get_init_base(void *fdt) +{ + char *c = (char *)get_initrdbase(fdt); + struct cpio_header *cp = find_file(c, init_n, init_nlen); + size_t name_len = convnum(cp->c_namesize, 8, 16); + return ((vm_t)cp) + align_up(sizeof(struct cpio_header) + name_len, 4); +} + void move_init(void *fdt, void *target) { char *c = (char *)get_initrdbase(fdt); -- cgit v1.3