feat: kprintf now goes into dedicated pseudo-dev rather than flooding the framebuffer
[lunaix-os.git] / lunaix-os / kernel / exe / elf32 / elf32bfmt.c
index 451c3946bd915dd23b5d0eaa631c092901f50a92..3fb671c69b405e9a0c025c4e7daa38c5ed2c0beb 100644 (file)
@@ -1,4 +1,3 @@
-#include <lunaix/common.h>
 #include <lunaix/exebi/elf32.h>
 #include <lunaix/fs.h>
 #include <lunaix/mm/valloc.h>
@@ -164,12 +163,19 @@ elf32_read_phdr(struct elf32* elf)
 }
 
 int
-elf32_check_exec(const struct elf32* elf)
+elf32_check_exec(const struct elf32* elf, int type)
+{
+    const struct elf32_ehdr* ehdr = &elf->eheader;
+
+    return (ehdr->e_entry) && ehdr->e_type == type;
+}
+
+int
+elf32_check_arch(const struct elf32* elf)
 {
     const struct elf32_ehdr* ehdr = &elf->eheader;
 
     return *(u32_t*)(ehdr->e_ident) == ELFMAGIC &&
            ehdr->e_ident[EI_CLASS] == ELFCLASS32 &&
-           ehdr->e_ident[EI_DATA] == ELFDATA2LSB && ehdr->e_type == ET_EXEC &&
-           ehdr->e_machine == EM_386;
-}
+           ehdr->e_ident[EI_DATA] == ELFDATA2LSB && ehdr->e_machine == EM_386;
+}
\ No newline at end of file