ko-ok-os / xv6-rust Goto Github PK
View Code? Open in Web Editor NEW🦀️ Re-implement xv6-riscv in Rust
License: MIT License
🦀️ Re-implement xv6-riscv in Rust
License: MIT License
当内核完成初始化进入调度后,初始化第一个用户进程并进入 fork_ret
读入 super block
并进入 usertrap_ret
,随后进行返回用户态的上下文切换,随后进入跳板页返回用户态,但在进入跳板页后内核崩溃,在 usertrap
处使用 gdb
调试阻塞住。
在从用户态通过 syscall 返回到内核态的时候,其中 kernel_trap 应当存在 trapframe 顶部,但是在加载的时候为0,导致错误
显示到first user process init.....后就直接shutdown了,是因为在rust_main.rs里面注释掉的代码吗
global_asm!(include_str!("asm/entry.S")); global_asm!(include_str!("asm/kernelvec.S")); global_asm!(include_str!("asm/trampoline.S")); global_asm!(include_str!("asm/switch.S"));
master分支下没有switch.S文件
在MacOS Ventura上编译报错。将xv6-risc中的sh.c替换过来,修改include后编译成功,但运行时卡在 process init......
连续两次执行 exec
失败,例如输错了可执行文件的名字,将会导致系统卡死
你好,想请问下如何看到内存情况?
I'm on MacOS Big Sur with the latest nightly Rust installed:
$ rustc --version
rustc 1.60.0-nightly (bfe156467 2022-01-22)
I also already had another tools installed:
$ rustup target add riscv64gc-unknown-none-elf
$ cargo install cargo-binutils
$ rustup component add llvm-tools-preview
Now let's run make:
$ cd xv6-rust/kernel
make
...
...
error: failed to getallocator
as a dependency of packagekernel v0.1.0 (/Users/andre/Lab/OSDev/xv6-rust/kernel)
Caused by:
failed to load source for dependencyallocator
Caused by:
Unable to update /Users/andre/Lab/OSDev/xv6-rust/allocatorCaused by:
failed to read/Users/andre/Lab/OSDev/xv6-rust/allocator/Cargo.toml
Caused by:
No such file or directory (os error 2)
make: *** [kernel] Error 101
不知道为什么设备中断出问题了,从终端输入不能检测到UART中断。
在文件系统为设备分配了 inum 号之后,再通过 dev 和 inum 取出 inode 发现取出的 inode 是错的
请问xv6 riscv本身是一个完整的操作系统吗?还是说得做完xv6的实验 xv6 riscv才是完整的系统啊?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.