WangRunji
84b2af3cdb
refactor sys_close_internal to SocketWrapper::drop
6 years ago
Jiajie Chen
1645451749
Implement memory_set splitting for munmap, add sys_sysinfo
6 years ago
WangRunji
dc55238989
fix sys_clone newtls
6 years ago
WangRunji
d51c52902d
minimal impl sys_clone
6 years ago
WangRunji
c3563192b5
fix SysResult::Ok(isize -> usize)
6 years ago
Jiajie Chen
b590545375
Implement sys_pwrite, sys_accept4 and dummy sys_chown, sys_epoll_create1. Allow recvfrom for tcp
6 years ago
WangRunji
fdc28724a3
fix sys_wait -1. update fs.
6 years ago
Jiajie Chen
0666a5a7ee
Implement sys_clock_gettime
6 years ago
Jiajie Chen
35dad6853f
Enable SSE and save FP registers in trapframe, implement sys_pread, sys_uname and sys_sched_getaffinity, support FIXED in mmap
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
8809c6ca7f
Improve sys_wait and replace CR with LF
6 years ago
equation314
0e38439fb8
aarch64: enable MMU in bootloader
6 years ago
Jiajie Chen
6e7dc9e349
Minor fixes around thread pool, writev, fs and implement gettid
6 years ago
Jiajie Chen
2d77b89476
Infer phdr from elf loading address, skip the first page in sys_mmap and update user to musl-enabled biscuit programs
6 years ago
Jiajie Chen
cca53536d1
Implement sys_pipe, fix sys_chdir, add dummy sys_setuid, and set an ephermal port when binding port 0
6 years ago
Jiajie Chen
bf5e176176
Implement sys_shutdown
6 years ago
Jiajie Chen
026ee459ec
Fix sys_poll, implement sys_getpeername and dummy sys_access
6 years ago
WangRunji
bc6818e365
minor improvement of net syscalls
6 years ago
Jiajie Chen
a1576b12ad
Fix dup2 socket ref count and sys_accept, close sockets on sys_exit
6 years ago
Jiajie Chen
c5aa5922bd
Fix forking and sys_dup2, implement sys_getsockopt and update sys_exec
6 years ago
Jiajie Chen
781630e06d
Implement sys_select and nc is working
6 years ago
Jiajie Chen
8b9aecca1c
Fix a potential racing in park() and unpark(), fix sys_poll for a running telnet
6 years ago
WangRunji
9e6483f488
refactor driver: make (Net)Driver Sync. may help avoid deadlock?
6 years ago
WangRunji
1f2625e565
minor improvement of sys_poll
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
3e6860ae8a
Fix lookup_inode for absolute path, and implement sys_accept for tcp
6 years ago
Jiajie Chen
a51b9dbd90
Implement tls setup code(not working yet), tcp sys_bind and sys_connect
6 years ago
equation314
8bb1e65ba7
load kernel elf in bootloader
6 years ago
Jiajie Chen
82e273df58
Implement sys_read for tcp
6 years ago
Jiajie Chen
0cf57be9e5
Tftp client is working by implement udp in some syscalls
6 years ago
Jiajie Chen
dcb1b51a5f
Improve time-related syscall precision and add some comment for MSI
6 years ago
Jiajie Chen
c6c89198cd
Add cmos rtc driver for x86
6 years ago
Jiajie Chen
1a1e39c960
Move socket set to iface, redesign NetDriver trait and implement blocking net syscalls
6 years ago
equation314
b94ba7759e
add aarch64 bootloader framework
6 years ago
WangRunji
738554386b
introduce VMError to simplify EFAULT error handling
6 years ago
Jiajie Chen
68167efd45
Merge remote-tracking branch 'origin/biscuit' into biscuit
6 years ago
Jiajie Chen
81176e5561
Implement raw socket for ping and add SocketWrapper struct
6 years ago
WangRunji
0fd24ff92e
impl sys_f(data)sync, sys_(f)truncate, sys_(un)link
6 years ago
WangRunji
451fe6b192
impl sys_chdir, sys_rename, sys_mkdir
6 years ago
WangRunji
2a6c4554d1
Merge remote-tracking branch 'course/biscuit' into biscuit
6 years ago
Jiajie Chen
687caf804d
Implement sys_getcwd
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
132bc629fa
fix bad address error code to EFAULT
6 years ago
WangRunji
472dac5d09
fix sys_getdent64. pass ls in coreutils & busybox
6 years ago
WangRunji
b66c8811d1
update bootloader to fix multi-core boot bug on x86_64
6 years ago
WangRunji
8ab991ebe1
remove global ActivePageTable, because it's CPU local
6 years ago
Jiajie Chen
d8345e96c7
Fix typo
6 years ago
Jiajie Chen
d9e05012f0
Implement socket sys_close
6 years ago
WangRunji
1b104029ce
tiny refactor: convert 'get_file' & 'get_socket' to method
6 years ago
Jiajie Chen
6ea04c91b2
Fix line editing bug
6 years ago
Jiajie Chen
29865d7aaa
Add line editing function to user shell and refactor net syscall
6 years ago
Jiajie Chen
6124cd60fc
Add basic implementation for syscall: connect and write
6 years ago
Jiajie Chen
984df11971
Merge remote-tracking branch 'origin/biscuit' into biscuit
6 years ago
Jiajie Chen
71336aca5c
Redesign NetDriver trait and update drivers
6 years ago
WangRunji
344a537684
fix SysError to match Linux error code
6 years ago
Jiajie Chen
36292e6fcd
Add dummy implementations for more syscalls
6 years ago
WangRunji
c7f9921e06
support TLS for musl. partial impl sys_exit_group.
6 years ago
WangRunji
f76374000e
fix x86_64 syscall register (r10)
6 years ago
equation314
7a278cd421
Merge branch 'master' into biscuit
6 years ago
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.
6 years ago
Jiajie Chen
671b7c7b54
Implement backtrace support for x86_64
6 years ago
Jiajie Chen
6f1953b977
Add document for e1000 driver
6 years ago
Jiajie Chen
af9a978a9d
Fix a bug in e1000 driver, run net thread and update Makefile
6 years ago
Jiajie Chen
7a3c66a923
Receiving from e1000 driver works
6 years ago
WangRunji
85ae4b1ba1
impl sys_stat, sys_readv, sys_writev. not tested yet
6 years ago
WangRunji
4e146ec491
impl sys_lseek
6 years ago
WangRunji
70a950bf40
fix struct stat to match Linux ABI
6 years ago
WangRunji
cab19688d5
rename File to FileHandle. impl create for sys_open.
6 years ago
WangRunji
6d78206f77
impl finding free area for mmap
6 years ago
Jiajie Chen
dd61ce30ba
Implement reading pci memory address
6 years ago
Jiajie Chen
197bebb1d2
Implement pci bus probing and fix a bug in virtio_mmio
6 years ago
WangRunji
05310dcd7d
refactor GDT mod
6 years ago
WangRunji
4404982a55
impl sys_arch_prctl set fs
6 years ago
WangRunji
7a704673d7
save fsbase to TrapFrame on x86_64
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
fc98719559
impl sys_mmap for annonymous
6 years ago
WangRunji
6e8a0e20ab
fix device compile error, update crate pc_keyboard
6 years ago
WangRunji
08c8d89974
update SFS to new rcore-fs
6 years ago
WangRunji
ca45f8f152
fix check user ptr in syscalls
6 years ago
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