Compare commits
1 Commits
main
...
ASST2/add-
| Author | SHA1 | Date | |
|---|---|---|---|
| c67c34e0ea |
@ -104,6 +104,9 @@ void syscall(struct trapframe *tf) {
|
||||
case SYS___time:
|
||||
err = sys___time((userptr_t)tf->tf_a0, (userptr_t)tf->tf_a1);
|
||||
break;
|
||||
case SYS_hello:
|
||||
err = sys_hello();
|
||||
break;
|
||||
|
||||
case SYS__exit:
|
||||
err = 0;
|
||||
|
||||
@ -379,6 +379,7 @@ file vfs/devnull.c
|
||||
file syscall/loadelf.c
|
||||
file syscall/runprogram.c
|
||||
file syscall/time_syscalls.c
|
||||
file syscall/hello.c
|
||||
|
||||
#
|
||||
# Startup and initialization
|
||||
|
||||
@ -94,6 +94,7 @@
|
||||
// #define SYS_getpriority 38
|
||||
// #define SYS_setpriority 39
|
||||
// (process groups, sessions, and job control)
|
||||
#define SYS_hello 41
|
||||
// #define SYS_getpgid 40
|
||||
// #define SYS_setpgid 41
|
||||
// #define SYS_getsid 42
|
||||
|
||||
@ -57,4 +57,6 @@ __DEAD void enter_new_process(int argc, userptr_t argv, userptr_t env,
|
||||
int sys_reboot(int code);
|
||||
int sys___time(userptr_t user_seconds, userptr_t user_nanoseconds);
|
||||
|
||||
int sys_hello(void);
|
||||
|
||||
#endif /* _SYSCALL_H_ */
|
||||
|
||||
7
kern/syscall/hello.c
Normal file
7
kern/syscall/hello.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include <types.h>
|
||||
#include <lib.h>
|
||||
#include <syscall.h>
|
||||
int sys_hello(void) {
|
||||
kprintf("Hello CSE4001!\n");
|
||||
return 0;
|
||||
}
|
||||
@ -156,4 +156,6 @@ int execvp(const char *prog, char *const *args); /* calls execv */
|
||||
char *getcwd(char *buf, size_t buflen); /* calls __getcwd */
|
||||
time_t time(time_t *seconds); /* calls __time */
|
||||
|
||||
int hello(void);
|
||||
|
||||
#endif /* _UNISTD_H_ */
|
||||
|
||||
@ -7,7 +7,7 @@ TOP=../..
|
||||
|
||||
SUBDIRS=add argtest badcall bigexec bigfile bigfork bigseek bloat conman \
|
||||
crash ctest dirconc dirseek dirtest f_test factorial farm faulter \
|
||||
filetest forkbomb forktest frack hash hog huge \
|
||||
filetest forkbomb forktest frack hash hellotest hog huge \
|
||||
malloctest matmult multiexec palin parallelvm poisondisk psort \
|
||||
randcall redirect rmdirtest rmtest \
|
||||
sbrktest schedpong sort sparsefile tail tictac triplehuge \
|
||||
|
||||
11
userland/testbin/hellotest/Makefile
Normal file
11
userland/testbin/hellotest/Makefile
Normal file
@ -0,0 +1,11 @@
|
||||
# Makefile for hello
|
||||
|
||||
TOP=../../..
|
||||
.include "$(TOP)/mk/os161.config.mk"
|
||||
|
||||
PROG=hellotest
|
||||
SRCS=hello.c
|
||||
BINDIR=/testbin
|
||||
|
||||
.include "$(TOP)/mk/os161.prog.mk"
|
||||
|
||||
8
userland/testbin/hellotest/hello.c
Normal file
8
userland/testbin/hellotest/hello.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include <unistd.h>
|
||||
|
||||
extern int hello(void);
|
||||
|
||||
int main() {
|
||||
hello();
|
||||
return 0;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user