equation314
8c19499112
aarch64: implement exception interface & synchronous exception handler
2018-10-30 20:44:54 +08:00
WangRunji
7229b49eb8
Use rust-lld for RV32. Remove riscv git submodule.
2018-10-30 13:30:20 +08:00
lcy1996
2c3de7b222
Merge branch 'OsTrain2018-g4' of github.com:oscourse-tsinghua/RustOS into lcy_issue1
2018-10-30 12:46:01 +08:00
lcy1996
edde416052
Finish swap for multi-user process
2018-10-30 12:45:09 +08:00
equation314
3386a793a5
aarch64: disable NEON
2018-10-29 23:05:16 +08:00
equation314
001254fd64
riscv32: change linker to rust-lld
2018-10-29 21:37:57 +08:00
equation314
ae5260db5c
aarch64: change linker to rust-lld
2018-10-29 21:34:29 +08:00
equation314
7746485861
aarch64: add target 'install' to Makefile
2018-10-29 19:14:54 +08:00
equation314
632baedabd
aarch64: can run on the real raspi3
2018-10-29 18:53:14 +08:00
equation314
2e094d08bc
common: add a logo
2018-10-29 13:41:25 +08:00
equation314
abf3418d24
aarch64: implement I/O by serial port
2018-10-29 13:38:27 +08:00
equation314
517a78d114
aarch64: implement mini UART for bcm2837
2018-10-29 13:25:29 +08:00
WangRunji
72dc3f62ad
Remove kernel stack from MemorySet.
2018-10-27 15:17:15 +08:00
equation314
faa5f01f31
aarch64: fix a bug of bcm2837::asm::dealy()
2018-10-27 02:55:19 +08:00
equation314
addf49ffdb
aarch64: add crate bcm2837, implement GPIO
2018-10-27 02:45:47 +08:00
WangRunji
438e290b6d
Fix PageTable::get_entry -> Option.
2018-10-26 23:43:12 +08:00
equation314
cc936ded35
aarch64: bootable in qemu
2018-10-26 22:02:24 +08:00
WangRunji
a42d6086c6
Simplify IDE code.
2018-10-26 18:18:11 +08:00
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
chenqiuhao
ede69959e4
debug for compare exchange
2018-10-26 15:03:20 +08:00
equation314
174e0da3b6
aarch64: basic framework
2018-10-26 11:22:22 +08:00
equation314
1140d32aaa
add arch=aarch64 & board=raspi3 to Makefile
2018-10-26 11:22:26 +08:00
equation314
70abc9ec2e
ignore .DS_Store
2018-10-26 11:22:22 +08:00
WangRunji
925a08f9ae
Add OSLab/exp3 report
2018-10-26 02:32:48 +08:00
WangRunji
95ab9caba1
Add impl of atomic_fetch_*
2018-10-26 02:31:05 +08:00
WangRunji
0680023e35
Recover wait/sleep
2018-10-26 00:49:19 +08:00
WangRunji
c734f79699
Drop context when process exit. Remove util mod.
2018-10-25 01:04:31 +08:00
WangRunji
85a1dca684
Use weak linkage to provide dependencies for process::thread.
2018-10-24 21:32:23 +08:00
WangRunji
80b161db98
Recover set_priority and fork
2018-10-24 21:29:41 +08:00
WangRunji
5db908b1c5
Separate ProcessManager to a mod.
2018-10-24 00:38:22 +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
WangRunji
6741ba399b
Add arch::cpu::halt(). Halt when panic.
2018-10-24 00:23:40 +08:00
lcy1996
ec27ed8d2e
add comment
2018-10-23 00:19:37 +08:00
lcy1996
5f34cc54d8
Merge branch 'OsTrain2018-g4' of github.com:oscourse-tsinghua/RustOS into lcy_issue1
2018-10-23 00:00:27 +08:00
lcy1996
63349ade19
Finish add more comment for kernel and finish set user memory swappable.
2018-10-23 00:00:09 +08:00
chenqiuhao
9474ad7220
update atomic function and workaround the LLVM compiling bug(maybe)
2018-10-22 18:40:21 +08:00
WangRunji
5bc392f388
Enable RV32 IPI.
2018-10-21 21:47:17 +08:00
WangRunji
ff18852c56
Reorganize docs.
2018-10-19 23:37:10 +08:00
WangRunji
1b4edf3bb2
Merge branch 'rv32-smp-porting' into dev
...
# Conflicts:
# kernel/Makefile
2018-10-19 23:36:15 +08:00
WangRunji
72e92c07f9
Switch to RV64 GNU toolchain. Simplify compiler_rt.
2018-10-19 23:35:38 +08:00
WangRunji
f1771f8ef2
Finish x86 SMP startup. Support timer & IPI.
...
- Remove smp, apic mod.
Instead, use new bootloader & apic crate.
- Disable PIC & PIT.
Instead, use IOAPIC & APIC Timer.
2018-10-19 01:14:21 +08:00
maoyuchaxue
f27fd37d82
replaced spin::Mutex with sync::SpinLock, now spinlock works well.
2018-10-17 21:34:15 +08:00
maoyuchaxue
6df13c57ca
Merge branch 'rv32-smp-porting' of https://github.com/char-fish-after-lunch/RustOS into rv32-smp-porting
2018-10-17 19:38:19 +08:00
maoyuchaxue
f7b7b1bcd6
added workaround for atomic ops
2018-10-17 19:37:53 +08:00
maoyuchaxue
cfda03a0f2
trying to add atomic implementations in rv32, but still buggy
2018-10-17 00:21:18 +08:00
lcy1996
0a81014007
Add page handler for swap in/out in riscv32's pagefault
2018-10-16 21:51:17 +08:00
maoyuchaxue
a34783c277
a late proposal.pptx
2018-10-16 18:05:16 +08:00
maoyuchaxue
d55eae7122
a late proposal.md
2018-10-16 17:42:50 +08:00
maoyuchaxue
49cd04dce3
added rv32 smp booting, with slight modification to bbl
2018-10-14 22:28:01 +08:00
maoyuchaxue
6cf0d6db23
fixed setting in riscv-pk to enable rv32ia, added smp option in Makefile
2018-10-14 13:50:59 +08:00