summaryrefslogtreecommitdiff
path: root/kernel/sysproc.c
diff options
context:
space:
mode:
authorMole Shang <[email protected]>2024-01-18 17:35:27 +0800
committerMole Shang <[email protected]>2024-01-18 17:35:27 +0800
commit493159b9bb1a764926daa49fb09bff8f29e8e9e5 (patch)
treebcae49e20df0ab9d86dab9bd10226807cc432f88 /kernel/sysproc.c
parent33ca12a4653752d179e6296c7ca2f91a626d30f3 (diff)
downloadxv6-labs-syscall.tar.gz
xv6-labs-syscall.tar.bz2
xv6-labs-syscall.zip
lab syscall: finishsyscall
Diffstat (limited to 'kernel/sysproc.c')
-rw-r--r--kernel/sysproc.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel/sysproc.c b/kernel/sysproc.c
index 3b4d5bd..fd2e069 100644
--- a/kernel/sysproc.c
+++ b/kernel/sysproc.c
@@ -91,3 +91,21 @@ sys_uptime(void)
release(&tickslock);
return xticks;
}
+
+uint64
+sys_trace(void)
+{
+ argint(0, &myproc()->trace_mask);
+
+ return -(myproc()->trace_mask <= 1);
+}
+
+uint64
+sys_sysinfo(void)
+{
+ uint64 si; // user pointer to struct sysinfo
+
+ argaddr(0, &si);
+ return sys_info(si);
+}
+