rCore-Tutorial-v3 icon indicating copy to clipboard operation
rCore-Tutorial-v3 copied to clipboard

Let's write an OS which can run on RISC-V in Rust from scratch!

Results 36 rCore-Tutorial-v3 issues
Sort by recently updated
recently updated
newest added

(我目前在写 chp3。 背景:“锯齿螈”内核(就是先一次性加载所有程序,然后顺序运行),ch3分支。 问题概述:假设每个程序是2MB,一共两个程序。那么它们在链接时会在0x8020_0000上面一点,但是运行前会分别被拷贝到[0x8040_0000,0x8060_0000)和[0x8060_0000,0x8080_0000)。然后修改第二个用户程序,只需要改成`println!("{}",1)`,然后在`fs.rs`里打印缓冲区起始地址,会发现它并不在[0x8060_0000,0x8080_0000)之间,而是0x8020_0000上一点(即链接的位置)。

bug

The rust-toolchain is set to be 1.57.0 nightly. So the unstable feature asm can be used and the macro **asm!** is bring to the crate scope But after the feature...

https://rcore-os.github.io/rCore-Tutorial-Book-v3/chapter8/1thread-kernel.html 中说 > 如果进程/主线程先调用了 exit 系统调用来退出,那么整个进程(**包括所属的所有线程**)都会退出 但示例代码显然不能做到终止其他线程的运行,不用运行任何测试就能直接读出来。 当然这也可以用测试来验证。基于commit 9ad3bb43124648b92e2f95673db4a49c56871de2 ,运行如下测试: ```rust #![no_std] #![no_main] #[macro_use] extern crate user_lib; extern crate alloc; use user_lib::{thread_create, exit}; use alloc::vec::Vec; pub fn thread_a() -> !...

bug

The 2nd parameter of `kill` [here](https://github.com/rcore-os/rCore-Tutorial-v3/blob/ch7/user/src/bin/sig_simple2.rs#L32) should be `10`, not `1

bug

In [os/src/syscall/mod.rs#L1](https://github.com/rcore-os/rCore-Tutorial-v3/blob/main/os/src/syscall/mod.rs#L1) the syscall number for `sys_open` is `56`, how ever in [this refrence](https://github.com/westerndigitalcorporation/RISC-V-Linux/blob/master/riscv-pk/pk/syscall.h#L12) `56` points to `sys_openat` Also, in [rcore-os/rcore_tutorial_tests/](https://github.com/rcore-os/rcore_tutorial_tests/blob/master/user/src/syscall.rs#L3) the number `56` is also pointing to `sys_openat`. I'm...

docker中,在os中make run会出现以下错误

题目要求检查sys_write的访问物理地址合法性,在检查02power的物理地址的时候发现所有数字的物理地址都在内核的rodata段内,请问这是为什么? ![image](https://user-images.githubusercontent.com/58020450/136666365-d662edbd-6404-4a62-9bcd-d24af5f8ef84.png) 如图所示,当OS在打印3的时候,指针指向了kernel的.rodata段。

bug

使用提供的虚拟机镜像,clone发布此issue时的仓库,在os中make run会出现以下错误: ![image](https://user-images.githubusercontent.com/38470282/148775053-5ad4a0e6-31d8-4185-9736-4fd97089d034.png)

In other words, `PhysicalPageNum::get_*` should not return references bounded by a static lifetime.

enhancement