一、实验目的
掌握在 xv6 系统中添加系统调用,并编写用户级应用程序来调用新增的系统调用。
二、实验内容
准备实验环境,创建 int sys_wolfie(void *buf, uint size) 系统调用,它将 ASCII 艺术图像复制到用户提供的缓冲区,前提是缓冲区足够大。如果缓冲区太小,或无效,返回负值。如果调用成功,返回复制的字节数。编写一个名为 wolfietest 的用户级应用程序,从内核获取 Wolfie 映像,并将其打印到控制台。
三、实验过程
1、修改 syscall.h,添加:
#define SYS_wolfie 22
2、修改 syscall.c,添加:
extern int sys_wolfie(void);
[SYS_wolfie] sys_wolfie,
3、修改 usys.S,添加:
SYSCALL(wolfie)
4、修改 user.h,添加:
int wolfie(void*, uint);
5、修改 sysproc.c,添加:
int