WangRunji
b77a52dccb
move bit-allocator and rcore-thread crate to remote
2019-04-04 12:45:55 +08:00
WangRunji
c2a90e2ab1
update dependencies
2019-03-27 18:45:24 +08:00
WangRunji
b836b11792
reformat code using cargo fmt
2019-03-27 18:45:24 +08:00
Jiajie Chen
10e883d56f
Fix mmap clashing with temporary map addr. Add riscv toolchains in travis CI
2019-03-26 17:33:32 +08:00
Jiajie Chen
e3fb47a03e
Remove m-mode and k210 support.
2019-03-26 08:28:10 +08:00
Jiajie Chen
adb66167f8
Fix a potential racing in Condvar
2019-03-24 23:53:09 +08:00
Jiajie Chen
3a6803af9b
Implement O(1) scheduler and add comments for other schedulers
2019-03-24 22:22:44 +08:00
Jiajie Chen
394afa493e
Fix TODO in work stealing scheduler
2019-03-24 21:39:15 +08:00
Jiajie Chen
48ebf98f11
Fix pop_with_split, check file existence in sys_access
2019-03-24 16:25:32 +08:00
Jiajie Chen
556d263d8e
Implement sys_openat and sys_renameat
2019-03-24 00:36:13 +08:00
Jiajie Chen
7b20c72864
Fix last commit
2019-03-23 23:53:12 +08:00
Jiajie Chen
0edfc07939
Allow page fault handler to bypass process lock and fix thread pool wakeup for exited process
2019-03-23 23:50:30 +08:00
Jiajie Chen
0272aa1070
Implement sys_readlink and improve sys_mremap
2019-03-23 11:33:53 +08:00
Jiajie Chen
08ba9261aa
Fix sys_mprotect with page alignment, dynamic loading seems working
2019-03-23 00:46:32 +08:00
WangRunji
5ddd5ece8d
rename, simplify
2019-03-22 23:45:57 +08:00
WangRunji
7eaeb4711e
fix thread crate example
2019-03-21 00:38:43 +08:00
WangRunji
442e1f4d0f
merge bbl crate to kernel
2019-03-19 00:48:15 +08:00
WangRunji
17e644e54e
unimportant changes
2019-03-18 00:18:03 +08:00
equation314
18626a2a19
Merge branch 'bootloader' into biscuit
2019-03-17 15:53:37 +08:00
WangRunji
c6c76147d6
impl custom syscall: sys_get_paddr
2019-03-16 21:24:41 +08:00
WangRunji
40ac510ecd
fix compile on riscv & aarch64
2019-03-12 11:49:17 +08:00
Jiajie Chen
8dc7c7bd3c
Implement sys_reboot with isa-debug-exit and add test script using expect
2019-03-11 16:09:15 +08:00
WangRunji
d64681a26b
recover thread join
2019-03-10 21:43:32 +08:00
Jiajie Chen
8cb11b7aa8
Implement tid/pid/ppid separation
2019-03-10 15:23:15 +08:00
equation314
f3d47f4b02
aarch64: move crate bcm2837 to remote
2019-03-09 23:03:44 +08:00
equation314
68b967b48e
aarch64: move crate atags
into crate bcm2837
2019-03-09 22:20:12 +08:00
equation314
279f983786
aarch64: put the kernel in the top VA range
2019-03-09 19:50:28 +08:00
WangRunji
84c12ae6e1
rename functions. ignore readonly in mmap to avoid page fault.
2019-03-09 15:55:00 +08:00
Jiajie Chen
1645451749
Implement memory_set splitting for munmap, add sys_sysinfo
2019-03-09 07:15:47 +08:00
Jiajie Chen
69498ae909
Fix delay memory handler: set present=true before unmapping
2019-03-08 15:24:28 +08:00
WangRunji
f7f740a021
remove TLS setup code. fix check writable memory
2019-03-08 10:50:46 +08:00
Jiajie Chen
84e07a6d83
Implement sys_mprotect and move attr setting from page_fault_handler to map in Delay
2019-03-08 00:03:06 +08:00
Jiajie Chen
6e7dc9e349
Minor fixes around thread pool, writev, fs and implement gettid
2019-03-07 23:04:52 +08:00
Jiajie Chen
8b9aecca1c
Fix a potential racing in park() and unpark(), fix sys_poll for a running telnet
2019-03-07 07:46:11 +08:00
Jiajie Chen
42b02453a0
Implement basic version of sys_poll supporting stdin and socket, fix some deadlocks and introduce some others
2019-03-06 20:24:55 +08:00
Jiajie Chen
2683314c38
Allocate pages eagerly for Delay when forking. Implement sys_getsockname.
2019-03-06 15:35:10 +08:00
Jiajie Chen
a51b9dbd90
Implement tls setup code(not working yet), tcp sys_bind and sys_connect
2019-03-06 10:19:19 +08:00
WangRunji
738554386b
introduce VMError to simplify EFAULT error handling
2019-03-03 01:27:30 +08:00
WangRunji
2a6c4554d1
Merge remote-tracking branch 'course/biscuit' into biscuit
2019-03-02 20:48:49 +08:00
Jiajie Chen
e543449836
Implement basic version of sys_munmap and sys_time
2019-03-02 20:15:55 +08:00
WangRunji
a979b6b5ec
impl sys_getppid. fix checking pointer for process syscalls
2019-03-02 19:09:39 +08:00
WangRunji
6d78206f77
impl finding free area for mmap
2019-02-26 00:46:25 +08:00
WangRunji
254663e976
impl a simple work-stealing scheduler
2019-02-24 02:26:55 +08:00
WangRunji
5a1b3e0dff
no longer support 'remove' in Scheduler
2019-02-24 01:50:29 +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
ca45f8f152
fix check user ptr in syscalls
2019-02-22 16:30:56 +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
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
fc8888db72
update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000.
2019-01-31 23:20:21 +08:00