diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-11-22 18:42:35 +0100 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-11-22 18:42:35 +0100 |
| commit | 5c8c67810a9df8fdcd7ca286cb2266d5d3536309 (patch) | |
| tree | 6abd9aaa6ace18ef86bfbf3228e5f28a9c9a773b /kernel | |
| parent | eca57656bfb384583c1c4b34de46cde6b36d6694 (diff) | |
Passing params to main()
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/syscalls.c | 10 |
1 files changed, 7 insertions, 3 deletions
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"); |
