关于在系统调用中添加测试用的相加SYS_ADD的系统调用的数值类型


在kernel/src/syscall/mod.rs的系统调用处理这里,添加一个SYS_ADD系统调用表示对用户态传入的参数进行相加,但是参数args本身是usize类型,处理不了负数相加,但是handle的返回类型又是usize,和isize类型冲突,请教一下解决办法

2 个赞

usize归根结底只是一种binary形式的传参,类似“字节流”的感觉,实际语义并没有特别变化。你可以指定用户空间传递指针进来来返回实际结果,但是就需要更周全的地址空间检查等等咯,类似 socket 传 IP 地址等更复杂的api