summaryrefslogtreecommitdiff
path: root/kernel/syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/syscalls.c')
-rw-r--r--kernel/syscalls.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/syscalls.c b/kernel/syscalls.c
index 0f06479..f328248 100644
--- a/kernel/syscalls.c
+++ b/kernel/syscalls.c
@@ -96,6 +96,7 @@ int syscall_lseek(int file,int ptr,int dir)
int syscall_write(int file, char *buf, int len)
{
+ //x86_int_disable();
#ifdef LOG_SYSCALLS
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"write(file=%d, buf=0x%08X, len=%d)", file,buf,len);
#endif
@@ -107,6 +108,7 @@ int syscall_write(int file, char *buf, int len)
{
console_put_char_green(buf[i]);
}
+ //x86_int_enable();
return len;
}
@@ -189,6 +191,7 @@ int syscall_fork()
int syscall_execve(char *name, char **argv, char **env)
{
+ //x86_int_disable();
// watchout this is called with esp in virtual memory of running process!
#ifdef LOG_SYSCALLS
@@ -308,6 +311,8 @@ int syscall_execve(char *name, char **argv, char **env)
// push addr and return to it
asm("push %0"::"r"(elf->e_entry));
+
+// x86_int_enable();
asm("ret");
// this is never reached!