summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2015-05-24 23:30:12 +0200
committerMichal Idziorek <m.i@gmx.at>2015-05-24 23:30:12 +0200
commit8ea3e244d44190e44a092ffb004e13ad94174c68 (patch)
tree2365b0ec35b4fbdc82d49bcefc014fc8af59b251 /fs
parent1b64f1e69bfbffc0e70ba3a1baff00ed3fd8cb51 (diff)
porting ncurses...
Diffstat (limited to 'fs')
-rw-r--r--fs/elf.c2
-rw-r--r--fs/ext2.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/fs/elf.c b/fs/elf.c
index f9f479c..dc5f472 100644
--- a/fs/elf.c
+++ b/fs/elf.c
@@ -77,12 +77,12 @@ uint32_t load_elf(char *name, uint32_t *alloc)
//TODO: load ELF binary and move this to own compilation unit
//load binary
-// uint32_t vaddr=0x08048000;
uint32_t vaddr=0x08000000;
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"loading %s",name);
ext2_check(ext2_ramimage);
ext2_inode_content(ext2_ramimage,inode_nr,vaddr,0x100000); // load 1mb;
+
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"ELF File loaded to final destination.");
Elf32_Ehdr *elf;
diff --git a/fs/ext2.c b/fs/ext2.c
index 4f00000..1f4d04e 100644
--- a/fs/ext2.c
+++ b/fs/ext2.c
@@ -201,7 +201,9 @@ int ext2_inode_content(char *ram,int inode_nr,uint8_t *ramdest,int max)
int sum=0;
int count=0;
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Loading %d %d bytes",inode.size_high, inode.size_low);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Loading %d.%d bytes",inode.size_high, inode.size_low);
+
+ if(inode.size_high>0)panic(FOOLOS_MODULE_NAME,"inode with high.size unsupported, i am sorry.");
while(pos<inode.size_low) // TODO: use size high!
{
@@ -266,8 +268,8 @@ int ext2_filename_to_inode_traverse(uint8_t *ram, char *path,int inode_start)
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"looking for %s '%s' in inode: %d",final?"file":"dir",first,inode_start);
- fs_dirent dirs[15];
- int count= ext2_read_dir(ram, inode_start,dirs,15); // get dir
+ fs_dirent dirs[25];
+ int count= ext2_read_dir(ram, inode_start,dirs,25); // get dir
for(int i=0;i<count;i++)
{