diff options
Diffstat (limited to 'fs/elf.c')
| -rw-r--r-- | fs/elf.c | 53 |
1 files changed, 26 insertions, 27 deletions
@@ -1,6 +1,5 @@ #include <stdint.h> #include "ext2.h" -#include "lib/logger/log.h" #define FOOLOS_MODULE_NAME "elf" #define EI_NIDENT 16 @@ -80,11 +79,11 @@ uint32_t load_elf(char *name, uint32_t *alloc) //uint32_t vaddr=0x08000000; uint32_t vaddr=0x08048000; - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"loading %s",name); + log(FOOLOS_MODULE_NAME,5,"loading %s",name); ext2_check(ext2_ramimage); ext2_inode_content(ext2_ramimage,inode_nr,vaddr,0x100000); // max ignored?? - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"ELF File loaded to final destination."); + log(FOOLOS_MODULE_NAME,20,"ELF File loaded to final destination."); Elf32_Ehdr *elf; elf=vaddr; @@ -94,27 +93,27 @@ uint32_t load_elf(char *name, uint32_t *alloc) /* - log(FOOLOS_MODULE_NAME, FOOLOS_LOG_INFO, + log(FOOLOS_MODULE_NAME, 5, "elf id: class=%d, data=%d, version=%d osabi=%d abiv=%d ", elf->e_ident[4],elf->e_ident[5],elf->e_ident[6], elf->e_ident[7],elf->e_ident[8]); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf type: 0x%04x",elf->e_type); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf machine: 0x%04x",elf->e_machine); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf version: %d",elf->e_version); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf entry: 0x%08X",elf->e_entry); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf ph-offset: 0x%08X",elf->e_phoff); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-offset: 0x%08X",elf->e_shoff); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf flags: 0x%08X",elf->e_flags); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf eh-size (bytes): %d",elf->e_ehsize); + log(FOOLOS_MODULE_NAME,5,"elf type: 0x%04x",elf->e_type); + log(FOOLOS_MODULE_NAME,5,"elf machine: 0x%04x",elf->e_machine); + log(FOOLOS_MODULE_NAME,5,"elf version: %d",elf->e_version); + log(FOOLOS_MODULE_NAME,5,"elf entry: 0x%08X",elf->e_entry); + log(FOOLOS_MODULE_NAME,5,"elf ph-offset: 0x%08X",elf->e_phoff); + log(FOOLOS_MODULE_NAME,5,"elf sh-offset: 0x%08X",elf->e_shoff); + log(FOOLOS_MODULE_NAME,5,"elf flags: 0x%08X",elf->e_flags); + log(FOOLOS_MODULE_NAME,5,"elf eh-size (bytes): %d",elf->e_ehsize); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf ph-ent-size(bytes): %d",elf->e_phentsize); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf ph-num: %d",elf->e_phnum); + log(FOOLOS_MODULE_NAME,5,"elf ph-ent-size(bytes): %d",elf->e_phentsize); + log(FOOLOS_MODULE_NAME,5,"elf ph-num: %d",elf->e_phnum); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-ent-size(byte): %d",elf->e_shentsize); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-num: %d",elf->e_shnum); + log(FOOLOS_MODULE_NAME,5,"elf sh-ent-size(byte): %d",elf->e_shentsize); + log(FOOLOS_MODULE_NAME,5,"elf sh-num: %d",elf->e_shnum); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"elf sh-strndx: %d",elf->e_shstrndx); + log(FOOLOS_MODULE_NAME,5,"elf sh-strndx: %d",elf->e_shstrndx); */ // iterate over section headers @@ -124,7 +123,7 @@ uint32_t load_elf(char *name, uint32_t *alloc) if(phidx==0) { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"text: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); + log(FOOLOS_MODULE_NAME,20,"text: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); } if(phidx==1) @@ -132,17 +131,17 @@ uint32_t load_elf(char *name, uint32_t *alloc) /* - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"-- PROGRAMM HEADER %d --",phidx+1); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-type: %d",phdr->p_type); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-offset: 0x%08X",phdr->p_offset); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-vaddr: 0x%08X",phdr->p_vaddr); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-filesz: 0x%08X",phdr->p_filesz); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"p-memsz: 0x%08X",phdr->p_memsz); + log(FOOLOS_MODULE_NAME,5,"-- PROGRAMM HEADER %d --",phidx+1); + log(FOOLOS_MODULE_NAME,5,"p-type: %d",phdr->p_type); + log(FOOLOS_MODULE_NAME,5,"p-offset: 0x%08X",phdr->p_offset); + log(FOOLOS_MODULE_NAME,5,"p-vaddr: 0x%08X",phdr->p_vaddr); + log(FOOLOS_MODULE_NAME,5,"p-filesz: 0x%08X",phdr->p_filesz); + log(FOOLOS_MODULE_NAME,5,"p-memsz: 0x%08X",phdr->p_memsz); */ - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"data: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"bss: 0x%08X-0x%08X",phdr->p_vaddr+phdr->p_filesz,phdr->p_vaddr+phdr->p_memsz); + log(FOOLOS_MODULE_NAME,20,"data: 0x%08X-0x%08X",phdr->p_vaddr,phdr->p_vaddr+phdr->p_filesz); + log(FOOLOS_MODULE_NAME,20,"bss: 0x%08X-0x%08X",phdr->p_vaddr+phdr->p_filesz,phdr->p_vaddr+phdr->p_memsz); // let's copy the rw- data block // from right to left so we not overwrite ourselves!! @@ -168,7 +167,7 @@ uint32_t load_elf(char *name, uint32_t *alloc) } - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"heap starts at: 0x%08X",*alloc); + log(FOOLOS_MODULE_NAME,20,"heap starts at: 0x%08X",*alloc); return elf->e_entry; } |
