Jiajie Chen
71336aca5c
Redesign NetDriver trait and update drivers
2019-02-28 12:31:10 +08:00
Jiajie Chen
36292e6fcd
Add dummy implementations for more syscalls
2019-02-28 07:34:45 +08:00
WangRunji
c7f9921e06
support TLS for musl. partial impl sys_exit_group.
2019-02-28 00:15:44 +08:00
WangRunji
f76374000e
fix x86_64 syscall register (r10)
2019-02-28 00:12:59 +08:00
equation314
7a278cd421
Merge branch 'master' into biscuit
2019-02-27 14:59:30 +08:00
equation314
50a8de35bc
aarch64: save current TTBR1_EL1 in context switch
...
fixed a bug: when the context switch occurs in InactivePageTable::edit() or InactivePageTable::with() which modify TTBR1_EL1 temporarily, TTBR1_EL1 can be restored to the unmodified value after context switch.
2019-02-27 14:49:32 +08:00
Jiajie Chen
671b7c7b54
Implement backtrace support for x86_64
2019-02-26 23:59:18 +08:00
Jiajie Chen
6f1953b977
Add document for e1000 driver
2019-02-26 23:03:04 +08:00
Jiajie Chen
af9a978a9d
Fix a bug in e1000 driver, run net thread and update Makefile
2019-02-26 20:46:51 +08:00
Jiajie Chen
7a3c66a923
Receiving from e1000 driver works
2019-02-26 19:33:20 +08:00
WangRunji
85ae4b1ba1
impl sys_stat, sys_readv, sys_writev. not tested yet
2019-02-26 18:37:50 +08:00
WangRunji
4e146ec491
impl sys_lseek
2019-02-26 17:01:38 +08:00
WangRunji
70a950bf40
fix struct stat to match Linux ABI
2019-02-26 16:21:55 +08:00
WangRunji
cab19688d5
rename File to FileHandle. impl create for sys_open.
2019-02-26 01:44:13 +08:00
WangRunji
6d78206f77
impl finding free area for mmap
2019-02-26 00:46:25 +08:00
Jiajie Chen
dd61ce30ba
Implement reading pci memory address
2019-02-25 21:18:09 +08:00
Jiajie Chen
197bebb1d2
Implement pci bus probing and fix a bug in virtio_mmio
2019-02-25 19:12:41 +08:00
WangRunji
05310dcd7d
refactor GDT mod
2019-02-25 00:44:22 +08:00
WangRunji
4404982a55
impl sys_arch_prctl set fs
2019-02-25 00:20:37 +08:00
WangRunji
7a704673d7
save fsbase to TrapFrame on x86_64
2019-02-25 00:17:16 +08:00
WangRunji
a224e85c8d
split scheduler mod, make Scheduler Sync
...
biscuit: fix argc, argv
2019-02-23 19:28:38 +08:00
WangRunji
e678186b3d
support idle for rcore-thread, remove idle thread in kernel
2019-02-23 16:54:02 +08:00
WangRunji
fc98719559
impl sys_mmap for annonymous
2019-02-23 00:07:28 +08:00
WangRunji
6e8a0e20ab
fix device compile error, update crate pc_keyboard
2019-02-22 21:15:05 +08:00
WangRunji
08c8d89974
update SFS to new rcore-fs
2019-02-22 17:10:57 +08:00
WangRunji
ca45f8f152
fix check user ptr in syscalls
2019-02-22 16:30:56 +08:00
WangRunji
d26a1bc617
split syscall mod
2019-02-22 14:10:24 +08:00
WangRunji
2cf7e7bd87
fix File in Process
2019-02-22 13:09:42 +08:00
WangRunji
cf9ac9ccfd
split fs mod
2019-02-22 13:08:40 +08:00
WangRunji
7927c7c168
Merge branch 'thread' into biscuit
...
# Conflicts:
# kernel/src/process/mod.rs
# kernel/src/process/structs.rs
# kernel/src/syscall.rs
2019-02-22 12:06:21 +08:00
WangRunji
e1dacb28ef
auto open stdin/out/err for new proc. pass biscuit hello,cat,echo ...
2019-02-22 11:44:48 +08:00
WangRunji
c69386fbc2
add rcore-user submodule
2019-02-21 18:35:10 +08:00
WangRunji
67e8bef0f5
modify syscall ids to match Linux 64. fix fork file bug.
2019-02-21 00:44:14 +08:00
WangRunji
8a1a38853e
support 'syscall' instruction by handling invalid opcode exception
2019-02-18 22:34:44 +08:00
WangRunji
a6b0da0c2f
rename x86_64 exception consts
2019-02-18 22:26:05 +08:00
WangRunji
32e7f0ed52
fix process startup stack for musl libc
2019-02-18 21:46:12 +08:00
WangRunji
a33d7632d6
rename 'KERN_VA_BASE' to 'KERNEL_OFFSET'. fix compile error
2019-02-18 14:42:25 +08:00
Jiajie Chen
fbf9409db2
Convert frame buffer to pa in virtio_gpu as well
2019-02-16 19:15:24 +08:00
Jiajie Chen
f399805196
Use KERN_VA_BASE and MEMORY_OFFSET to convert between kern va and pa
2019-02-16 18:06:32 +08:00
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
2019-02-16 16:52:11 +08:00
WangRunji
95dfb7684f
update kflash.py, fix build k210
2019-02-16 14:31:47 +08:00
WangRunji
2766f49986
update README, Travis, Makefile
2019-02-15 16:10:24 +08:00
WangRunji
2303a8099b
update Rust compiler to support riscv64
2019-02-15 14:54:42 +08:00
WangRunji
ac0c19cdb0
support Sv39
...
To test: make run arch=riscv64 board=u540
2019-02-01 01:09:23 +08:00
WangRunji
fc8888db72
update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000.
2019-01-31 23:20:21 +08:00
WangRunji
1ceb7ae12d
use #[repr(C)] instead of #[repr(packed)] to avoid warning
2019-01-31 18:07:15 +08:00
WangRunji
847a1c7576
use core::sync::atomic::fence
2019-01-29 16:08:00 +08:00
WangRunji
66c84b4599
update to x86_64 0.4
2019-01-28 14:24:56 +08:00
WangRunji
0ec5ad8056
split Process and Thread
2019-01-25 23:28:48 +08:00
WangRunji
5bffce787b
rename 'process' crate to 'thread'
2019-01-24 19:03:45 +08:00