summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-12-05 01:10:42 +0100
committerMichal Idziorek <m.i@gmx.at>2014-12-05 01:10:42 +0100
commit2acfe7e10cff427998049d58df11830b4bbe1c9e (patch)
tree0f8d346476b5fac4d4ade2e2dde0246c276b0d47
parent233289b9abfa3ca8e96f8f89dbb87f9040858afc (diff)
plauing around
-rw-r--r--asm/int_irq.asm1
-rw-r--r--fs/ext2.c4
-rw-r--r--kernel/config.h2
-rw-r--r--kernel/interrupts.c5
-rw-r--r--kernel/task.c1
-rw-r--r--userspace/init.c4
6 files changed, 11 insertions, 6 deletions
diff --git a/asm/int_irq.asm b/asm/int_irq.asm
index 8567aa3..fd57a50 100644
--- a/asm/int_irq.asm
+++ b/asm/int_irq.asm
@@ -128,7 +128,6 @@ int_irq14:
cli
pop eax
- pop eax
call exception_handle_14 ;this will never return due to panic!
jmp $
diff --git a/fs/ext2.c b/fs/ext2.c
index 49b6f17..4a41a24 100644
--- a/fs/ext2.c
+++ b/fs/ext2.c
@@ -232,7 +232,7 @@ int ext2_inode_content(char *ram,int inode_nr,uint8_t *ramdest,int max)
}
else
{
- panic(FOOLOS_MODULE_NAME,"Triplu Indirect Block Pointers not supported yet, file is too big to load, sorry!");
+ panic(FOOLOS_MODULE_NAME,"Triple Indirect Block Pointers not supported yet, file is too big to load, sorry!");
}
@@ -242,7 +242,7 @@ int ext2_inode_content(char *ram,int inode_nr,uint8_t *ramdest,int max)
}
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_DEBUG,"Fool Check Sum: 0x%08X for %d bytes",sum,count);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Fool Check Sum: 0x%08X for %d bytes",sum,count);
}
diff --git a/kernel/config.h b/kernel/config.h
index 60c650a..a741c4a 100644
--- a/kernel/config.h
+++ b/kernel/config.h
@@ -8,7 +8,7 @@
#define FOOLOS_CONFIG_H
#define FOOLOS_CONSOLE_AUTOBREAK // add newline automatically at end of line
-//#define FOOLOS_LOG_OFF // do not log anything
+#define FOOLOS_LOG_OFF // do not log anything
#define FOOLOS_CONSOLE // otherwise VESA will be used!
#define MEM_PRINT_MEMORYMAP
#define LOG_BUF_SIZE 4069
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index 2fa6310..fed2b28 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -39,6 +39,11 @@ void exception_handle()
void exception_handle_14(uint32_t error_code)
{
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code: 0x%08X",error_code);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_P: %d",error_code&1);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_W/R: %d",error_code&2);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_U/S: %d",error_code&4);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_RSVD: %d",error_code&8);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"error_code_I/D: %d",error_code&16);
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"at addr: 0x%08X",x86_get_cr2());
panic(FOOLOS_MODULE_NAME,"page fault !");
}
diff --git a/kernel/task.c b/kernel/task.c
index 1bfc1b2..c5b5bc5 100644
--- a/kernel/task.c
+++ b/kernel/task.c
@@ -158,6 +158,7 @@ volatile void task_init(pdirectory *dir)
char *argv[]={"/bin/init",NULL};
char *env[]={NULL};
syscall_execve("/bin/init",argv,env);
+// syscall_execve("/bin/tput",argv,env);
}
diff --git a/userspace/init.c b/userspace/init.c
index d152581..f588875 100644
--- a/userspace/init.c
+++ b/userspace/init.c
@@ -1,7 +1,7 @@
int main(int argc, char **argv)
{
- printf("fool-init: spawning a Fool's Shell\n");
+ //printf("fool-init: spawning a Fool's Shell\n");
// loop forever and spawn shells if the top-shell exits
while(1)
@@ -13,7 +13,7 @@ int main(int argc, char **argv)
if(pid==0)
{
char *argv[]={"/bin/foolshell",0};
- char *env[]={"PS1=$","PWD=/home/miguel","PATH=/bin",0};
+ char *env[]={"PS1=$","PWD=/home/miguel","PATH=/bin","TERM=xterm",0};
execve("/bin/foolshell",argv,env); // replace process with our foolshell :)
puts("FATAL ERROR: Something terrible happened. Unable to Execute SHELL!");
while(1);// hang