WangRunji
|
5bc392f388
|
Enable RV32 IPI.
|
6 years ago |
WangRunji
|
1b4edf3bb2
|
Merge branch 'rv32-smp-porting' into dev
# Conflicts:
# kernel/Makefile
|
6 years ago |
WangRunji
|
72e92c07f9
|
Switch to RV64 GNU toolchain. Simplify compiler_rt.
|
6 years ago |
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.
|
6 years ago |
maoyuchaxue
|
f27fd37d82
|
replaced spin::Mutex with sync::SpinLock, now spinlock works well.
|
6 years ago |
maoyuchaxue
|
f7b7b1bcd6
|
added workaround for atomic ops
|
6 years ago |
maoyuchaxue
|
cfda03a0f2
|
trying to add atomic implementations in rv32, but still buggy
|
6 years ago |
lcy1996
|
0a81014007
|
Add page handler for swap in/out in riscv32's pagefault
|
6 years ago |
maoyuchaxue
|
49cd04dce3
|
added rv32 smp booting, with slight modification to bbl
|
6 years ago |
maoyuchaxue
|
6cf0d6db23
|
fixed setting in riscv-pk to enable rv32ia, added smp option in Makefile
|
6 years ago |
lcy1996
|
0a7ec18701
|
Add page fault handler to riscv 32.
|
6 years ago |
lcy1996
|
96cdf37b15
|
Add some comment for paging and add proposal doc
|
6 years ago |
lcy1996
|
cef2d792be
|
Add part of comments for riscv32 module
|
6 years ago |
lcy1996
|
2157e4bbcf
|
Add comment for interrutp and trap code
|
6 years ago |
lcy1996
|
91455d163d
|
Finish comment riscv context.
|
6 years ago |
lcy1996
|
5b4aefdb0d
|
Add comment for riscv32 context
|
6 years ago |
lcy1996
|
e4300d3515
|
Add more comment in kernel but not finished
|
6 years ago |
lcy1996
|
4e0b510895
|
Finish comment for ristv boot.
|
6 years ago |
WangRunji
|
cd1bd55729
|
Update README, travis, riscv crate.
|
6 years ago |
WangRunji
|
924c061d64
|
Merge branch 'x86-boot'
# Conflicts:
# crate/riscv
# kernel/Makefile
|
6 years ago |
WangRunji
|
224905f12c
|
Update Makefile
|
6 years ago |
WangRunji
|
7a9b746c68
|
x86_64 back to normal.
* Fix kernel stack P4E
* User programs: disk0 -> disk1
* IDE IRQ appears ??
|
6 years ago |
WangRunji
|
7f00001fd1
|
Move to higher half
|
6 years ago |
dzy
|
5a0ce1e464
|
Refactored RISC-V page table identity mapping into a function.
|
6 years ago |
dzy
|
11223957d1
|
Add `mkdir build` in makefile.
It this is missing, building with a clean repository will fail
because build/ does not exist.
|
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
|
0437e5cb17
|
Make it compile for bootimage toolchain
* Revert to nightly-2018-08-27 due to its bug on macOS
* Not build C code
|
6 years ago |
WangRunji
|
caeff9ad97
|
Update packages and fit for new Rust nightly
|
6 years ago |
WangRunji
|
cbe7affc5d
|
Merge riscv for QEMU & FPGA
|
6 years ago |
WangRunji
|
ff8930a36c
|
Make frame allocator smaller. Fix serial stupid bug.
|
6 years ago |
WangRunji
|
3cf118ba67
|
Mul & div inst emulation
|
6 years ago |
WangRunji
|
b99dc3d1cf
|
Merge branch 'new-rv-toolchain' into board
|
6 years ago |
WangRunji
|
640872d154
|
Use alloc API to fix stack overflow in release mode.
|
6 years ago |
WangRunji
|
384f6a9c9c
|
Change kernel heap to identity map
|
6 years ago |
WangRunji
|
dc97b4b433
|
Fix atomic_compare_exchange
|
6 years ago |
WangRunji
|
3d0d6e3d02
|
Merge branch 'new-rv-toolchain' into board
# Conflicts:
# kernel/Makefile
# kernel/src/arch/riscv32/boot/entry.asm
|
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
|
296b6196f4
|
rv64 toolchain configure for riscv-pk
|
6 years ago |
WangRunji
|
b88648ff44
|
Fit for newest Rust nightly. x86_64 ok, riscv32 broken.
|
6 years ago |
WangRunji
|
7e5726845f
|
Simple bootloader. Remove riscv-pk.
|
6 years ago |
WangRunji
|
a2111a928f
|
Move thread mod to ucore-process crate
|
7 years ago |
WangRunji
|
fed7b38845
|
Try to fix travis for x86_64
|
7 years ago |
WangRunji
|
776dc976c9
|
Fix for user
|
7 years ago |
WangRunji
|
6022ec8efc
|
Fix load user program out of range
|
7 years ago |
WangRunji
|
52d3443e05
|
Recover idle process. Make shell wait for the user it spawned.
|
7 years ago |
WangRunji
|
c8a9eaf3e6
|
Split process mod to extern crate
|
7 years ago |
WangRunji
|
37a6df252f
|
Refactor process mod
|
7 years ago |
WangRunji
|
97b838981f
|
Fix console
|
7 years ago |
WangRunji
|
cf1a2d3450
|
Simple kernel shell
|
7 years ago |
WangRunji
|
542a06d50e
|
Set default log level to WARN
|
7 years ago |
WangRunji
|
5647fb1273
|
Fix build guide
|
7 years ago |
WangRunji
|
60c2a77ac1
|
Unify IO in arch
|
7 years ago |
WangRunji
|
f1407dff7b
|
Note the reason of double fault in x86_64 release mode.
|
7 years ago |
WangRunji
|
1cb50c00ba
|
Fit for SFS
|
7 years ago |
WangRunji
|
6b0556e135
|
Add Cargo.lock
|
7 years ago |
WangRunji
|
0c9679b710
|
Fix fork and syscall return value.
|
7 years ago |
WangRunji
|
27daa6d491
|
Fix user trap
|
7 years ago |
WangRunji
|
69bc5caa81
|
Fix syscall return value, args. Pass `hello`.
|
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
|
019770c92d
|
Modify build path
|
7 years ago |
WangRunji
|
3286fed36c
|
Recover syscall for RV32
|
7 years ago |
WangRunji
|
1ad3ed738e
|
Can run user program in 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 |