WangRunji
81196729e4
Fix RV32 atomic.
...
- Fix __atomic_compare_exchange_4().
- Add patch for core::sync::atomic.
- Revert kernel Mutex.
2018-10-26 15:22:03 +08:00
WangRunji
0680023e35
Recover wait/sleep
2018-10-26 00:49:19 +08:00
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.
2018-10-24 00:28:29 +08:00
maoyuchaxue
f27fd37d82
replaced spin::Mutex with sync::SpinLock, now spinlock works well.
2018-10-17 21:34:15 +08:00
WangRunji
7a9b746c68
x86_64 back to normal.
...
* Fix kernel stack P4E
* User programs: disk0 -> disk1
* IDE IRQ appears ??
2018-09-18 17:49:12 +08:00
WangRunji
640872d154
Use alloc API to fix stack overflow in release mode.
2018-08-06 19:04:18 +08:00
WangRunji
10e3cea340
Only use Rust toolchain to build for rv32. Set arch to rv32i. x86_64 broken.
2018-08-05 00:24:36 +08:00
WangRunji
b88648ff44
Fit for newest Rust nightly. x86_64 ok, riscv32 broken.
2018-08-04 16:20:25 +08:00
WangRunji
52d3443e05
Recover idle process. Make shell wait for the user it spawned.
2018-07-17 10:47:05 +08:00
WangRunji
37a6df252f
Refactor process mod
2018-07-17 00:23:02 +08:00
WangRunji
97b838981f
Fix console
2018-07-16 22:02:03 +08:00
WangRunji
cf1a2d3450
Simple kernel shell
2018-07-16 17:31:29 +08:00
WangRunji
1cb50c00ba
Fit for SFS
2018-07-15 16:44:21 +08:00
WangRunji
c768ec3e1e
Recover fs for RV32. Add user-riscv.img
...
Now load user programs from SFS data linked at kernel.
2018-07-14 17:41:45 +08:00
WangRunji
c0138c4c35
Fix linking user program binaries
2018-07-14 01:11:47 +08:00
WangRunji
4faa8a65ae
Move kernel to a new directory
2018-07-13 12:25:39 +08:00