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
WangRunji
9e6483f488
refactor driver: make (Net)Driver Sync. may help avoid deadlock?
2019-03-07 01:00:46 +08:00
WangRunji
1f2625e565
minor improvement of sys_poll
2019-03-06 21:52:03 +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
3e6860ae8a
Fix lookup_inode for absolute path, and implement sys_accept for tcp
2019-03-06 10:57:28 +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
equation314
8bb1e65ba7
load kernel elf in bootloader
2019-03-06 00:46:01 +08:00
Jiajie Chen
82e273df58
Implement sys_read for tcp
2019-03-05 09:35:59 +08:00
Jiajie Chen
0cf57be9e5
Tftp client is working by implement udp in some syscalls
2019-03-05 00:57:40 +08:00
Jiajie Chen
dcb1b51a5f
Improve time-related syscall precision and add some comment for MSI
2019-03-04 23:52:19 +08:00
Jiajie Chen
c6c89198cd
Add cmos rtc driver for x86
2019-03-04 16:25:57 +08:00
Jiajie Chen
1a1e39c960
Move socket set to iface, redesign NetDriver trait and implement blocking net syscalls
2019-03-04 15:34:02 +08:00
equation314
b94ba7759e
add aarch64 bootloader framework
2019-03-04 15:22:19 +08:00
WangRunji
738554386b
introduce VMError to simplify EFAULT error handling
2019-03-03 01:27:30 +08:00
Jiajie Chen
68167efd45
Merge remote-tracking branch 'origin/biscuit' into biscuit
2019-03-03 00:45:04 +08:00
Jiajie Chen
81176e5561
Implement raw socket for ping and add SocketWrapper struct
2019-03-03 00:44:46 +08:00
WangRunji
0fd24ff92e
impl sys_f(data)sync, sys_(f)truncate, sys_(un)link
2019-03-02 23:16:11 +08:00
WangRunji
451fe6b192
impl sys_chdir, sys_rename, sys_mkdir
2019-03-02 21:25:36 +08:00
WangRunji
2a6c4554d1
Merge remote-tracking branch 'course/biscuit' into biscuit
2019-03-02 20:48:49 +08:00
Jiajie Chen
687caf804d
Implement sys_getcwd
2019-03-02 20:25:30 +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
132bc629fa
fix bad address error code to EFAULT
2019-03-02 17:26:50 +08:00
WangRunji
472dac5d09
fix sys_getdent64. pass ls in coreutils & busybox
2019-03-02 17:17:57 +08:00
WangRunji
b66c8811d1
update bootloader to fix multi-core boot bug on x86_64
2019-03-02 12:37:55 +08:00
WangRunji
8ab991ebe1
remove global ActivePageTable, because it's CPU local
2019-03-02 11:19:47 +08:00
Jiajie Chen
d8345e96c7
Fix typo
2019-03-01 08:09:01 +08:00
Jiajie Chen
d9e05012f0
Implement socket sys_close
2019-03-01 08:03:10 +08:00
WangRunji
1b104029ce
tiny refactor: convert 'get_file' & 'get_socket' to method
2019-02-28 23:33:31 +08:00
Jiajie Chen
6ea04c91b2
Fix line editing bug
2019-02-28 15:53:41 +08:00
Jiajie Chen
29865d7aaa
Add line editing function to user shell and refactor net syscall
2019-02-28 15:50:58 +08:00
Jiajie Chen
6124cd60fc
Add basic implementation for syscall: connect and write
2019-02-28 14:46:46 +08:00
Jiajie Chen
984df11971
Merge remote-tracking branch 'origin/biscuit' into biscuit
2019-02-28 12:33:10 +08:00
Jiajie Chen
71336aca5c
Redesign NetDriver trait and update drivers
2019-02-28 12:31:10 +08:00
WangRunji
344a537684
fix SysError to match Linux error code
2019-02-28 10:59:52 +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