WangRunji
6fc23e1134
Ugly impl sys_wait(0)
6 years ago
WangRunji
182c595a20
Enable multi-core on RV32.
6 years ago
WangRunji
85a1dca684
Use weak linkage to provide dependencies for process::thread.
6 years ago
WangRunji
f7eb09e856
Multicore processing WORKS! Basically ...
...
- Rewrite processor.rs
Refactor to `Processor` & `ProcessManager`
- Use Box<dyn> instead of generic.
- Wait/sleep/wakeup is not supported yet.
I'm considering to implement them with WaitQueue.
6 years ago
WangRunji
0a9c294814
Fix x86_64 startup. TODO: higher half.
...
* Remove legacy boot, MP, ACPI.
* Disable SMP.
* Modify startup: boot -> arch::init -> kmain.
* Fix FrameAllocator on x86_64.
* Remove kernel remap.
* Alloc kernel heap at bss.
6 years ago
WangRunji
caeff9ad97
Update packages and fit for new Rust nightly
6 years ago
WangRunji
3d6fcb8d8c
Fix x86_64. Not elegant.
6 years ago
WangRunji
10e3cea340
Only use Rust toolchain to build for rv32. Set arch to rv32i. x86_64 broken.
6 years ago
WangRunji
b88648ff44
Fit for newest Rust nightly. x86_64 ok, riscv32 broken.
6 years ago
WangRunji
a2111a928f
Move thread mod to ucore-process crate
7 years ago
WangRunji
c8a9eaf3e6
Split process mod to extern crate
7 years ago
WangRunji
cf1a2d3450
Simple kernel shell
7 years ago
WangRunji
76f5af7d30
Merge `rust_main`. Change the way to pass multiboot info address.
7 years ago
WangRunji
c768ec3e1e
Recover fs for RV32. Add user-riscv.img
...
Now load user programs from SFS data linked at kernel.
7 years ago
WangRunji
3286fed36c
Recover syscall for RV32
7 years ago
WangRunji
c0138c4c35
Fix linking user program binaries
7 years ago
WangRunji
4faa8a65ae
Move kernel to a new directory
7 years ago