1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-22 08:06:17 +04:00
Commit Graph

1256 Commits

Author SHA1 Message Date
Jiajie Chen
f0c418e969 Fix sleeping and cleanup 2020-06-19 23:07:41 +08:00
Jiajie Chen
8bc8ab19e2 Add missing woken in futex 2020-06-19 21:30:26 +08:00
Jiajie Chen
4af73f5650 Fix sys_clone 2020-06-19 21:27:40 +08:00
Jiajie Chen
c5095f2316 Re implement futex by async, fix clone 2020-06-19 21:13:18 +08:00
Jiajie Chen
7672dd45e3 Add thread table, allocate tid instead of pid 2020-06-19 18:53:33 +08:00
Jiajie Chen
c230cd7b63 Make read() async 2020-06-19 14:20:12 +08:00
Jiajie Chen
17ba8d6262 Fix sys_exec when failed early 2020-06-19 13:56:23 +08:00
Jiajie Chen
dca8f3f598 Eliminate vm locking because vmtoken won't change 2020-06-19 13:02:17 +08:00
Jiajie Chen
39e750517c Re-construct vm in place in sys_exec 2020-06-19 12:59:12 +08:00
Jiajie Chen
e8046ec728 Fix ucore badarg 2020-06-19 11:37:08 +08:00
Jiajie Chen
33291ff5d3 Fix user fixup handling 2020-06-19 11:34:23 +08:00
Jiajie Chen
274addfc34 Fix page switching problem 2020-06-19 11:01:11 +08:00
Jiajie Chen
990bb6a4a1 Implement copy_to_user, use UserPtr in more places 2020-06-19 09:09:42 +08:00
Jiajie Chen
3d9a1a7356 Move clear child tid and remove kstack 2020-06-18 21:07:11 +08:00
Jiajie Chen
252520f336 Fix has_signal_to_do 2020-06-18 20:44:46 +08:00
Jiajie Chen
4613fef11b Rename and add comments to termios 2020-06-17 08:38:33 +08:00
Jiajie Chen
2a914ec011 Merge stdio and tty 2020-06-17 08:25:13 +08:00
Jiajie Chen
af853431d6 Use u8 in stdin 2020-06-17 08:05:24 +08:00
Jiajie Chen
eac5baa2ee Fix commented code 2020-06-16 21:37:56 +08:00
Jiajie Chen
96793936e9 Fix sys_wait4 finally 2020-06-16 20:19:09 +08:00
Jiajie Chen
c6818ccbb6 Store strong ref in PROCESSES, fix sys_wait4 2020-06-16 19:56:45 +08:00
Jiajie Chen
c552765622 Fix sys_wait4 2020-06-16 18:27:54 +08:00
Jiajie Chen
61a000798c Refactor process mod 2020-06-16 17:39:16 +08:00
Jiajie Chen
8bd384d048 Fix vfork 2020-06-16 17:09:44 +08:00
Jiajie Chen
294cbb5b44 Cleanup unused code 2020-06-16 16:16:45 +08:00
Jiajie Chen
9a61b334b1 Fix serial console 2020-06-16 10:02:56 +08:00
Jiajie Chen
4c9e956225 Add event bus for polling stdin 2020-06-16 10:01:22 +08:00
Jiajie Chen
5d05bccdd5 Add UserPtr, rewrite poll by async 2020-06-16 09:31:54 +08:00
Jiajie Chen
bc845fa9ff Fix thread switching 2020-06-15 22:53:12 +08:00
Jiajie Chen
172e2e75e0 Use async for syscall 2020-06-15 20:51:20 +08:00
Jiajie Chen
4cfead4c73 Use trapframe-rs 2020-06-15 19:48:17 +08:00
Jiajie Chen
a73fdde6ac Add executor and naive-timer 2020-06-15 18:38:59 +08:00
jiegec
59428269c7 Re-generate riscv patch on newer nightly 2020-06-15 17:47:44 +08:00
Jiajie Chen
18f862ca48 Upgrade aarch64 for llvm_asm change 2020-06-15 17:28:48 +08:00
Runji Wang
3ae186de10 update dependencies 2020-06-15 17:14:41 +08:00
Jiajie Chen
39ffdbb3e7 Bump to nightly-2020-06-04 and use llvm_asm instead of asm 2020-06-15 16:56:21 +08:00
Jiajie Chen
1c43d6044f Format code 2020-06-15 15:13:09 +08:00
Jiajie Chen
ad97e2ab13 Fix shmget conflict 2020-06-15 15:09:07 +08:00
Jiajie Chen
833faacf83 Merge branch 'master' into pull-30-merge 2020-06-15 15:07:29 +08:00
Runji Wang
eaa3b42f5d clean and refactor code 2020-06-15 12:34:24 +08:00
Jiajie Chen
f85f62dd81 Cleanup unneeded commented code 2020-06-12 09:50:43 +08:00
Chen
1176446f83
Merge branch 'master' into EatenBagpipe-master 2020-06-12 09:47:57 +08:00
Jiajie Chen
2fe309f6c8 Fix compilation for riscv32 2020-06-12 09:33:19 +08:00
Jiajie Chen
56eaa83e79 Fix compilation for aarch64 2020-06-12 09:18:10 +08:00
Jiajie Chen
dfa963ad04 Guard fpe by arch 2020-06-12 09:11:19 +08:00
Jiajie Chen
5b01f1b6ad Add missing functions for riscv 2020-06-12 09:10:25 +08:00
Jiajie Chen
ad4ea951e3 Don't enable kvm by default 2020-06-12 08:53:43 +08:00
Jiajie Chen
12a29297ba Revert part of changes 2020-06-12 08:50:07 +08:00
Liu Xiaoyi
b41147f436
Fixed RISC-V tlb not flushed during context switch
Added a missing SFENCE.VMA
2020-06-08 16:39:46 +08:00
function2-llx
c157890f33 run cargo fmt 2020-06-06 04:27:19 +08:00
function2-llx
3d83f84556 fix sigaltstack 2020-06-06 04:04:50 +08:00
function2-llx
0f2fae8590 pass utime 2020-06-06 02:39:45 +08:00
function2-llx
75967f12c0 user content 2020-06-05 21:52:57 +08:00
宋香君
4d30eeadb1 Merge branch 'master' of github.com:EatenBagpipe/rCore 2020-06-05 16:34:00 +08:00
宋香君
8cb2602416 update initialization for mxcsr register, enable KVM 2020-06-05 16:32:09 +08:00
function2-llx
60100e1e78 stable signal implementation framework 2020-06-05 15:59:04 +08:00
function2-llx
bee5a77e2b fix bug 2020-06-04 19:15:06 +08:00
function2-llx
98d3f83a12 fix ctrl+C 2020-05-31 19:07:54 +08:00
prettykernel
2dfca0c445 fix some compile warnings, and fix deprecated qemu option 2020-05-31 16:06:38 +08:00
function2-llx
4c1650d027 fix some bug; page fault when syscall in signal handler 2020-05-31 06:03:22 +08:00
function2-llx
da5a7993b4 implement ctrl+C 2020-05-30 23:12:25 +08:00
function2-llx
0d3c207cd2 tty 2020-05-30 04:23:04 +08:00
function2-llx
d70b920b1c signal 2020-05-29 17:57:35 +08:00
function2-llx
9a02550bcb fix mxcsr; flock 2020-05-25 05:55:53 +08:00
宋香君
0cce66c876 add mxcsr register in x86_64 2020-05-25 01:48:54 +08:00
function2-llx
5242f21488 fix bug of condvar 2020-05-24 01:19:54 +08:00
function2-llx
b0a80d96ea return error when seek on pipe 2020-05-23 03:49:17 +08:00
function2-llx
b49270a903 fix behavior of sys_exit about child_tid 2020-05-23 02:18:57 +08:00
function2-llx
ff54128273 Merge branch 'master' of github.com:rcore-os/rCore 2020-05-22 23:10:54 +08:00
function2-llx
5c7b637c97 shm 2020-05-16 07:04:42 +08:00
Liu Xiaoyi
0e25fd187d
Fixed QEMU serial interrupt not firing 2020-05-16 01:42:23 +08:00
function2-llx
6253d80e1d fix bug of Condvar::notify: remove from queue when wake up 2020-05-15 21:11:52 +08:00
Liu Xiaoyi
0d41db4991
Fixed noncontiguous frame allocated in DMA initialization 2020-05-15 14:59:03 +08:00
function2-llx
14f418f663 add wait_timeout for condvar, support timeout in futex wait 2020-05-13 19:56:50 +08:00
Liu Xiaoyi
297480e8bd
Reverted modification of Cargo.toml 2020-05-13 15:20:37 +08:00
Liu Xiaoyi
838513e05c
Cargo.lock & format 2020-05-13 15:12:15 +08:00
Liu Xiaoyi
54504eb317
Fixed stack overflow caused by large struct initialization on stack 2020-05-13 05:00:25 +08:00
function2-llx
0c4d53f8d4 fix getdents64: set inode id and file type properly 2020-05-13 02:05:31 +08:00
function2-llx
17b55552d1 Merge branch 'master' of github.com:rcore-os/rCore 2020-05-12 22:07:07 +08:00
function2-llx
db6a8a9015 decrease offset when write fail in getdents64 2020-05-12 19:31:37 +08:00
Chen
cc93de1d25
Merge branch 'master' into fix-nanosleep 2020-05-11 12:35:33 +08:00
Jiajie Chen
14f74aaaeb Let halt quit QEMU with zero exit code 2020-05-11 12:13:49 +08:00
Jiajie Chen
104c0c83e6 Fix 0ns case of nanosleep 2020-05-11 11:55:05 +08:00
function2-llx
64957a6d2e use wrapping add to prevent panic 2020-05-09 11:07:28 +08:00
function2-llx
1aaa2aad20 implement some of semctl; run libc-test 2020-05-09 06:24:22 +08:00
function2-llx
b946f8606d fix fork(dup) 2020-05-08 22:24:42 +08:00
Jiajie Chen
c5a5cc398a Support F_DUPFD_CLOEXEC in fcntl 2020-04-27 12:43:11 +08:00
function2-llx
d32027a645 run make 2020-04-27 03:08:23 +08:00
function2-llx
f98db379ff fix time 2020-04-26 14:20:09 +08:00
function2-llx
6e5e91a10a record time in metadata 2020-04-26 02:04:09 +08:00
function2-llx
ff9b0cc303 add utimensat, fix touch 2020-04-25 23:05:40 +08:00
function2-llx
db9ef2112b symlink 2020-04-25 18:41:41 +08:00
function2-llx
2271bbd0e9 fix trunc 2020-04-20 13:06:14 +08:00
宋香君
c5c0196a54 fix options in FileHandle 2020-04-20 00:16:54 +08:00
function2-llx
c50d25dba9 fix fork 2020-04-19 23:40:37 +08:00
function2-llx
c740b67a52 Merge branch 'master' of github.com:rcore-os/rCore 2020-04-19 19:47:41 +08:00
equation314
395b8b51c1 Updata rcore-fs version to 7e7c74a
Support non-zero return value for INode::io_control()
2020-04-14 20:24:27 +08:00
function2-llx
8bb6370f6c fmt 2020-04-13 13:16:34 +08:00
function2-llx
cc1bd96778 dup3 2020-04-13 11:23:07 +08:00
function2-llx
555ad64102 add block in pipe, fix some bug 2020-04-13 00:33:32 +08:00
function2-llx
b2e714d68d fix dup 2020-04-12 18:52:21 +08:00
function2-llx
d777f59118 run shell 2020-04-11 10:05:49 +08:00
function2-llx
47dade0c73 merge 2020-04-09 22:30:33 +08:00
Runji Wang
139544f946 update Rust nightly to 2020-04-06 2020-04-06 17:19:05 +08:00
equation314
d3b82267c1 Merge branch 'master' into clear-warning 2020-04-06 00:44:18 +08:00
equation314
d10997f90f Update Rust nightly to 2020-03-23. 2020-04-05 22:01:43 +08:00
equation314
c7f64461d0 Bump rboot version 2020-04-05 21:35:07 +08:00
function2-llx
7223cee638 add tty 2020-04-05 20:25:11 +08:00
equation314
332830b7c4 Update rcore-fs version 2020-04-04 23:48:39 +08:00
equation314
822f3010c8 Move device file system codes into src/fs/devfs 2020-04-04 23:48:28 +08:00
equation314
f95b863d80 Add read_at/write_at functions to Framebuffer 2020-04-04 23:33:36 +08:00
equation314
f1e5b94ec5 Dispatch mmap operation of files in FileHandle 2020-04-04 23:33:35 +08:00
equation314
357be4858e Add fbdev to DevFS 2020-04-04 23:33:03 +08:00
equation314
5c8fa87c27 Resolve deprecated funtions 2020-04-04 23:02:05 +08:00
equation314
9b488bed06 Resolve never used constants/fileds/methods 2020-04-04 21:57:37 +08:00
equation314
110c967693 Resolve unused variables & unnecessary mut 2020-04-04 19:01:24 +08:00
equation314
a6cd153fca Remove unused import 2020-04-04 17:58:20 +08:00
function2-llx
749f2e40ce debug 2020-03-31 22:05:52 +08:00
function2-llx
9168afa818 Merge branch 'master' of github.com:rcore-os/rCore 2020-03-30 17:14:19 +08:00
function2-llx
9f07940204 fix rcore-fs 2020-03-26 20:15:36 +08:00
function2-llx
dc2bf6e879 test 2020-03-25 20:49:16 +08:00
Runji Wang
a395d5ea10 move virtio drivers to external crate 2020-03-24 22:27:21 +08:00
Jiajie Chen
1f75b26945 Run cargo fmt 2020-03-24 20:27:49 +08:00
Jiajie Chen
3e742b7cbc Fix compilation for mipsel target 2020-03-24 20:21:59 +08:00
Jiajie Chen
d5c0e0d58c Run cargo fmt 2020-03-24 20:03:02 +08:00
Jiajie Chen
5fb1fb08c8 Merge remote-tracking branch 'rcore/master' into orig-Loremkang 2020-03-24 19:56:45 +08:00
Jiajie Chen
c0be01319b Don't create len=0 slices in iov 2020-03-24 18:44:25 +08:00
Jiajie Chen
36a1ed98c8 Bump rcore-fs revision for newer bitvec version 2020-03-24 18:21:33 +08:00
equation314
79baa289f4 ARM: Use RwLock to wrap raspi3 IRQ handler 2020-03-24 15:09:18 +08:00
Chen
cd81f4cc73
Add .align 4 to fix potential alignment problem, see issue #33 (#34) 2020-02-17 21:26:06 +08:00
Runji Wang
f66c8d29cd uppercase arguments in Makefile 2020-02-01 13:25:55 +08:00
Runji Wang
ab06b2cd55 remove dependency cargo-binutils 2020-02-01 12:47:43 +08:00
Runji Wang
3723dde083 update dependencies and CI badge 2020-01-29 20:09:04 +08:00
Runji Wang
fc5c82be28 ci: add GitHub Actions 2020-01-29 17:42:08 +08:00
Runji Wang
9c2459f2f0 update Rust nightly to 2020-01-17. remove dependence of cargo-xbuild. 2020-01-29 11:57:14 +08:00
Jiajie Chen
ab8356f28d Bump rboot and user commit, update Cargo.lock and fix addr2line.py 2020-01-29 10:59:39 +08:00
Hongbo Kang
ed5471ff3d support basic shm syscall & pass test. 2020-01-02 16:33:15 +08:00
康鸿博
eb99232432 add shmget, shmat, shmdt syscall and pass compilation. 2020-01-02 14:16:00 +08:00
康鸿博
7c7031e5d0 Use offset instead of virtAddrAddress in shared memory guard, provide basis for sys_shm. Merge branch 'master' into shared_memory 2019-12-31 21:23:06 +08:00
Runji Wang
af83913188 fix data racing on thread crate
The key point is that all methods on 'Processor' must be called with interrupt disabled. Otherwise if an interrupt happened inside a method, and then the thread is switched to other CPUs, it will touch other 'Processor'.
2019-11-30 18:11:26 +08:00
Runji Wang
20f8b45888 riscv: rename 'arch/riscv32' to 'arch/riscv' 2019-11-30 15:48:12 +08:00
Runji Wang
915ef6f95e riscv: use -bios option for QEMU 4.1
And remove prebuilt OpenSBI for virt, since it's included in QEMU.
Ref: https://qemu.weilnetz.de/doc/qemu-doc.html#Deprecated-features B.1.15
2019-11-30 15:48:12 +08:00
Runji Wang
7d1a37a7bf update Rust nightly to 2019-11-28
- disable hard float on mips to avoid LLVM error
- update smoltcp and fix drivers for API change
- update atomic.patch for libcore on riscv
- update rboot to fit new nightly
2019-11-30 15:48:09 +08:00
Jiajie Chen
52afd05946 Run code format 2019-11-18 13:59:12 +08:00
LoremKang
b5c08c2825 add support for mmap shared memory. passed compilation. 2019-11-08 02:36:55 +08:00
ssryps
0a1e422cac change code structure 2019-11-07 22:57:13 +08:00
ssryps
f6e5769a51 fix some bug 2019-11-06 10:02:14 +08:00
ssryps
ec1d588890 optimize code structure 2019-11-04 14:34:43 +08:00
ssryps
47f8a7d6eb modification for pull request 2019-11-03 23:35:15 +08:00
ssryps
a81bb579ef epoll module complete 2019-11-03 23:35:15 +08:00