From 5c8c67810a9df8fdcd7ca286cb2266d5d3536309 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Sat, 22 Nov 2014 18:42:35 +0100 Subject: Passing params to main() --- kernel/syscalls.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'kernel/syscalls.c') diff --git a/kernel/syscalls.c b/kernel/syscalls.c index f85cfce..06caf2d 100644 --- a/kernel/syscalls.c +++ b/kernel/syscalls.c @@ -239,10 +239,14 @@ int syscall_execve(char *name, char **argv, char **env) } */ + static char arg1[]="x";; + static char arg2[]="blah"; + static char arg3[]="foo"; + static char *args[]={arg1,arg2,arg3}; + + asm("push %0" :: "r" (args)); //argv + asm("push $3");//argc - // autorun "user-space" prog - asm("push $10");//argv TODO: addresse - asm("push $20"); //argc TODO: real number of params! asm("push $0x800080"); asm("ret"); -- cgit v1.2.3