提交 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=\
_usertests\
_wc\
_zombie\
_halt\
fs.img: mkfs 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);
extern int sys_wait(void);
extern int sys_write(void);
extern int sys_uptime(void);
extern int sys_halt(void);
static int (*syscalls[])(void) = {
[SYS_chdir] sys_chdir,
......@@ -121,6 +122,7 @@ static int (*syscalls[])(void) = {
[SYS_wait] sys_wait,
[SYS_write] sys_write,
[SYS_uptime] sys_uptime,
[SYS_halt] sys_halt,
};
void
......
......@@ -20,3 +20,4 @@
#define SYS_sbrk 19
#define SYS_sleep 20
#define SYS_uptime 21
#define SYS_halt 22
......@@ -87,3 +87,14 @@ sys_uptime(void)
release(&tickslock);
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);
char* sbrk(int);
int sleep(int);
int uptime(void);
void halt(void);
// ulib.c
int stat(char*, struct stat*);
......
......@@ -29,3 +29,4 @@ SYSCALL(getpid)
SYSCALL(sbrk)
SYSCALL(sleep)
SYSCALL(uptime)
SYSCALL(halt)
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论