提交 4147120f 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

Merge branch 'mtrace' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6 into mtrace

...@@ -170,6 +170,7 @@ UPROGS=\ ...@@ -170,6 +170,7 @@ UPROGS=\
_usertests\ _usertests\
_wc\ _wc\
_zombie\ _zombie\
_halt\
fs.img: mkfs README $(UPROGS) fs.img: mkfs README $(UPROGS)
./mkfs fs.img README $(UPROGS) ./mkfs fs.img README $(UPROGS)
......
#include "types.h"
#include "user.h"
int
main(int argc, char *argv[])
{
halt();
exit();
}
...@@ -98,6 +98,7 @@ extern int sys_unlink(void); ...@@ -98,6 +98,7 @@ extern int sys_unlink(void);
extern int sys_wait(void); extern int sys_wait(void);
extern int sys_write(void); extern int sys_write(void);
extern int sys_uptime(void); extern int sys_uptime(void);
extern int sys_halt(void);
static int (*syscalls[])(void) = { static int (*syscalls[])(void) = {
[SYS_chdir] sys_chdir, [SYS_chdir] sys_chdir,
...@@ -121,6 +122,7 @@ static int (*syscalls[])(void) = { ...@@ -121,6 +122,7 @@ static int (*syscalls[])(void) = {
[SYS_wait] sys_wait, [SYS_wait] sys_wait,
[SYS_write] sys_write, [SYS_write] sys_write,
[SYS_uptime] sys_uptime, [SYS_uptime] sys_uptime,
[SYS_halt] sys_halt,
}; };
void void
......
...@@ -20,3 +20,4 @@ ...@@ -20,3 +20,4 @@
#define SYS_sbrk 19 #define SYS_sbrk 19
#define SYS_sleep 20 #define SYS_sleep 20
#define SYS_uptime 21 #define SYS_uptime 21
#define SYS_halt 22
...@@ -87,3 +87,14 @@ sys_uptime(void) ...@@ -87,3 +87,14 @@ sys_uptime(void)
release(&tickslock); release(&tickslock);
return xticks; return xticks;
} }
int
sys_halt(void)
{
int i;
const char s[] = "Shutdown";
for(i = 0; i < 8; i++)
outb(0x8900, s[i]);
return 0;
}
...@@ -22,6 +22,7 @@ int getpid(void); ...@@ -22,6 +22,7 @@ int getpid(void);
char* sbrk(int); char* sbrk(int);
int sleep(int); int sleep(int);
int uptime(void); int uptime(void);
void halt(void);
// ulib.c // ulib.c
int stat(char*, struct stat*); int stat(char*, struct stat*);
......
...@@ -29,3 +29,4 @@ SYSCALL(getpid) ...@@ -29,3 +29,4 @@ SYSCALL(getpid)
SYSCALL(sbrk) SYSCALL(sbrk)
SYSCALL(sleep) SYSCALL(sleep)
SYSCALL(uptime) SYSCALL(uptime)
SYSCALL(halt)
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论