如何解决尝试更改clockintr中的proc字段时出现kerneltrap
我正在开发新版本的 xv6 - https://github.com/mit-pdos/xv6-riscv ,并且当我尝试更改clockintr中的proc属性(ctime)时,我一直在获取kerneltrap:
proc.c 内(新函数)
void
increaseTick()
{
struct proc *p = myproc();
acquire(&p->lock);
p->ctime = p->ctime + 1;
release(&p->lock);
}
在 trap.c 内
void
clockintr()
{
acquire(&tickslock);
ticks++;
increaseTick(); // this is what I added
wakeup(&ticks);
release(&tickslock);
}
在 defs.h 中:
void increaseTick(void);
我将感谢任何能让我意识到我做错了什么的帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。