Jiajie Chen
adb66167f8
Fix a potential racing in Condvar
6 years ago
Jiajie Chen
3a6803af9b
Implement O(1) scheduler and add comments for other schedulers
6 years ago
Jiajie Chen
394afa493e
Fix TODO in work stealing scheduler
6 years ago
Jiajie Chen
48ebf98f11
Fix pop_with_split, check file existence in sys_access
6 years ago
Jiajie Chen
556d263d8e
Implement sys_openat and sys_renameat
6 years ago
Jiajie Chen
7b20c72864
Fix last commit
6 years ago
Jiajie Chen
0edfc07939
Allow page fault handler to bypass process lock and fix thread pool wakeup for exited process
6 years ago
Jiajie Chen
0272aa1070
Implement sys_readlink and improve sys_mremap
6 years ago
Jiajie Chen
08ba9261aa
Fix sys_mprotect with page alignment, dynamic loading seems working
6 years ago
WangRunji
5ddd5ece8d
rename, simplify
6 years ago
WangRunji
7eaeb4711e
fix thread crate example
6 years ago
WangRunji
442e1f4d0f
merge bbl crate to kernel
6 years ago
WangRunji
17e644e54e
unimportant changes
6 years ago
equation314
18626a2a19
Merge branch 'bootloader' into biscuit
6 years ago
WangRunji
c6c76147d6
impl custom syscall: sys_get_paddr
6 years ago
WangRunji
40ac510ecd
fix compile on riscv & aarch64
6 years ago
Jiajie Chen
8dc7c7bd3c
Implement sys_reboot with isa-debug-exit and add test script using expect
6 years ago
WangRunji
d64681a26b
recover thread join
6 years ago
Jiajie Chen
8cb11b7aa8
Implement tid/pid/ppid separation
6 years ago
equation314
f3d47f4b02
aarch64: move crate bcm2837 to remote
6 years ago
equation314
68b967b48e
aarch64: move crate `atags` into crate `bcm2837`
6 years ago
equation314
279f983786
aarch64: put the kernel in the top VA range
6 years ago
WangRunji
84c12ae6e1
rename functions. ignore readonly in mmap to avoid page fault.
6 years ago
Jiajie Chen
1645451749
Implement memory_set splitting for munmap, add sys_sysinfo
6 years ago
Jiajie Chen
69498ae909
Fix delay memory handler: set present=true before unmapping
6 years ago
WangRunji
f7f740a021
remove TLS setup code. fix check writable memory
6 years ago
Jiajie Chen
84e07a6d83
Implement sys_mprotect and move attr setting from page_fault_handler to map in Delay
6 years ago
Jiajie Chen
6e7dc9e349
Minor fixes around thread pool, writev, fs and implement gettid
6 years ago
Jiajie Chen
8b9aecca1c
Fix a potential racing in park() and unpark(), fix sys_poll for a running telnet
6 years ago
Jiajie Chen
42b02453a0
Implement basic version of sys_poll supporting stdin and socket, fix some deadlocks and introduce some others
6 years ago
Jiajie Chen
2683314c38
Allocate pages eagerly for Delay when forking. Implement sys_getsockname.
6 years ago
Jiajie Chen
a51b9dbd90
Implement tls setup code(not working yet), tcp sys_bind and sys_connect
6 years ago
WangRunji
738554386b
introduce VMError to simplify EFAULT error handling
6 years ago
WangRunji
2a6c4554d1
Merge remote-tracking branch 'course/biscuit' into biscuit
6 years ago
Jiajie Chen
e543449836
Implement basic version of sys_munmap and sys_time
6 years ago
WangRunji
a979b6b5ec
impl sys_getppid. fix checking pointer for process syscalls
6 years ago
WangRunji
6d78206f77
impl finding free area for mmap
6 years ago
WangRunji
254663e976
impl a simple work-stealing scheduler
6 years ago
WangRunji
5a1b3e0dff
no longer support 'remove' in Scheduler
6 years ago
WangRunji
a224e85c8d
split scheduler mod, make Scheduler Sync
...
biscuit: fix argc, argv
6 years ago
WangRunji
e678186b3d
support idle for rcore-thread, remove idle thread in kernel
6 years ago
WangRunji
ca45f8f152
fix check user ptr in syscalls
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
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
fc8888db72
update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000.
6 years ago
WangRunji
086fcd4079
rename 'event_hub' to 'timer', add doc and simplify
6 years ago
WangRunji
1541282ad7
add example for 'thread' crate
6 years ago
WangRunji
5bffce787b
rename 'process' crate to 'thread'
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
WangRunji
2d5178d0b7
rename ucore to rcore
6 years ago