WangRunji
d26a1bc617
split syscall mod
6 years ago
WangRunji
2cf7e7bd87
fix File in Process
6 years ago
WangRunji
cf9ac9ccfd
split fs mod
6 years ago
WangRunji
7927c7c168
Merge branch 'thread' into biscuit
...
# Conflicts:
# kernel/src/process/mod.rs
# kernel/src/process/structs.rs
# kernel/src/syscall.rs
6 years ago
WangRunji
e1dacb28ef
auto open stdin/out/err for new proc. pass biscuit hello,cat,echo ...
6 years ago
WangRunji
c69386fbc2
add rcore-user submodule
6 years ago
WangRunji
67e8bef0f5
modify syscall ids to match Linux 64. fix fork file bug.
6 years ago
WangRunji
8a1a38853e
support 'syscall' instruction by handling invalid opcode exception
6 years ago
WangRunji
a6b0da0c2f
rename x86_64 exception consts
6 years ago
WangRunji
32e7f0ed52
fix process startup stack for musl libc
6 years ago
WangRunji
a33d7632d6
rename 'KERN_VA_BASE' to 'KERNEL_OFFSET'. fix compile error
6 years ago
Jiajie Chen
fbf9409db2
Convert frame buffer to pa in virtio_gpu as well
6 years ago
Jiajie Chen
f399805196
Use KERN_VA_BASE and MEMORY_OFFSET to convert between kern va and pa
6 years ago
Jiajie Chen
8313b8854e
cherry-pick virtio improvement from lab8-rv32
...
Move mandelbrot to test mod, cleanup virtio feature negotiation and add addr2line script to Makefile
Implement full virtqueue operations, virtio input driver
Use new virtqueue implementation for virtio net driver
Implement virtio blk device support and use it instead of memory sfs when available
fix dirty hack for virtio_blk
6 years ago
WangRunji
95dfb7684f
update kflash.py, fix build k210
6 years ago
WangRunji
2766f49986
update README, Travis, Makefile
6 years ago
WangRunji
2303a8099b
update Rust compiler to support riscv64
6 years ago
WangRunji
ac0c19cdb0
support Sv39
...
To test: make run arch=riscv64 board=u540
6 years ago
WangRunji
fc8888db72
update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000.
6 years ago
WangRunji
1ceb7ae12d
use #[repr(C)] instead of #[repr(packed)] to avoid warning
6 years ago
WangRunji
847a1c7576
use core::sync::atomic::fence
6 years ago
WangRunji
66c84b4599
update to x86_64 0.4
6 years ago
WangRunji
0ec5ad8056
split Process and Thread
6 years ago
WangRunji
5bffce787b
rename 'process' crate to 'thread'
6 years ago
WangRunji
238de1b282
fix compile for rv64
6 years ago
WangRunji
047f4ffdcc
cherry-pick jiegec's work ( #3 ) from lab8-rv32: virtio drivers, network stack
...
Read and parse dtb upon boot
Implement virtio net device detection
Negotiate feature bits for virtio-net
Read MAC address from virtio-net device and detect virtqueues
Receiving from virtio net device is working for the first time
Implement driver interface and interrupt handling routines
Rearrange drivers into upper directory
Implement initial support for processing arp request and reply packet
Refactor MAC address and IPv4 address into structs, and implement ICMP echo reply
Fix typos
Implement initial support for virtio gpu driver
Complete first working version of virtio gpu driver with mandelbrot example
Use smoltcp and implement a udp and tcp server on top of it
Cleanup virtio net code
6 years ago
Jiajie Chen
b1d01928c3
Use core::mem::size_of instead of core:intrinsics::size_of. Thanks @wangrunji0408
6 years ago
Jiajie Chen
6e887d5505
Replace hardcoded instruction length with size_of in backtrace
6 years ago
Jiajie Chen
5350ecb09f
Add addr2line tool for annotating backtrace
6 years ago
Jiajie Chen
e3262698be
Fix aarch64 toolchain detection and add missing compiler_builtins v0.1.5
6 years ago
Jiajie Chen
4beb865d32
Update toolchain location and detection
6 years ago
Jiajie Chen
090796d3f0
Implement backtrace support for RISCV32
6 years ago
Jiajie Chen
7d6856ceab
Implement backtrace support for RISCV64
6 years ago
Jiajie Chen
d8edd1a7db
Implement backtrace support for AArch64
6 years ago
dzy
61eda6b19e
Add 0.1.4 compiler_builtins. Git ignore llc.
6 years ago
WangRunji
0965d24083
fix map_kernel on riscv32
6 years ago
WangRunji
2d5178d0b7
rename ucore to rcore
6 years ago
WangRunji
f0ea48126d
fix sys_wait arg type: isize -> i32
6 years ago
WangRunji
61dfcb5558
Merge remote-tracking branch 'equation314/arch-aarch64' into merging
...
# Conflicts:
# kernel/Makefile
# kernel/src/arch/aarch64/board/raspi3/irq.rs
# kernel/src/arch/aarch64/memory.rs
# kernel/src/arch/riscv32/paging.rs
# kernel/src/arch/x86_64/paging.rs
6 years ago
equation314
dfb2d49cd6
aarch64/doc: add console driver
6 years ago
equation314
1aa8436d71
aarch64/doc: add interruption & timer drivers
6 years ago
equation314
7fda4e360f
aarch64/doc: add GPIO, mini UART, mailbox drivers
6 years ago
WangRunji
e46b6c7b0c
move target json. add kflash.py
6 years ago
WangRunji
190711fbc2
yet another riscv atomic fix
6 years ago
equation314
e1d0d2a020
aarch64/doc: add overview of AArch64
6 years ago
WangRunji
5d7e97d9e9
fix interrupt in process crate
6 years ago
WangRunji
681a90657a
let Makefile support riscv64
6 years ago
WangRunji
259e7c842e
update Cargo.toml & Makefile
6 years ago
WangRunji
33eaded142
Merge remote-tracking branch 'bpc/user-lib-bin' into merge-1228
...
# Conflicts:
# kernel/src/arch/riscv32/compiler_rt.c
# kernel/src/arch/riscv32/consts.rs
# kernel/src/arch/riscv32/context.rs
# kernel/src/arch/riscv32/io.rs
# kernel/src/arch/riscv32/memory.rs
# kernel/src/arch/riscv32/paging.rs
# user/ucore-ulib/src/syscall.rs
6 years ago
WangRunji
c65b7357a4
use riscv crate from github
6 years ago