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
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
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
ssryps
93a4962205
fix a bug of epoll module
2019-11-03 23:35:10 +08:00
ssryps
14f0965bd2
finish epoll implementation
2019-11-03 23:35:10 +08:00
ssryps
ba09ab92a8
modify select implementation
2019-11-03 23:34:26 +08:00
ssryps
0aa995d98c
improve the implementation of poll
2019-11-03 23:34:26 +08:00
ssryps
d1c2a2c731
finish lab1
2019-11-03 23:34:26 +08:00
Runji Wang
7d849f8d30
fix fb_bitfield for all pixel formats
2019-11-02 01:28:02 +08:00
Runji Wang
242cbfa76c
implement sys_pselect6, same as sys_select
2019-11-02 00:56:48 +08:00
Runji Wang
1ee6796346
init FramebufferInfo for VirtIOGPU
2019-11-01 17:14:43 +08:00
Runji Wang
91a4860b64
Rust style docs and cargo fmt
2019-11-01 15:12:56 +08:00
刘丰源
74b13a449a
fix bugs
2019-10-30 18:08:45 +08:00
刘丰源
d28ce19ae4
update ioctl
2019-10-30 17:06:30 +08:00
Runji Wang
d4702faa0f
fix SYS_IPC on mips
2019-10-26 11:29:27 +08:00
Runji Wang
b7a192a1ea
move all process related semaphore operations to struct SemProc
2019-10-24 20:33:00 +08:00
Runji Wang
a99f4396eb
clean and improve code
2019-10-24 19:44:42 +08:00
LoremKang
0b05a58e3b
update submodule rboot & user. format the code.
2019-10-24 15:50:46 +08:00
LoremKang
4da6a1471a
support SEM_UNDO. now support all 3 syscall without safety check.
2019-10-22 23:23:30 +08:00
LoremKang
702ea47ae8
fix the deadlock bug. semaphores now work well without SEM_UNDO.
2019-10-22 16:15:03 +08:00
LoremKang
e6b4c77c05
solve a potential unwrap error. deadlock when child lock first.
2019-10-22 14:58:48 +08:00
LoremKang
a180c3b4bb
solve the deadlock problem & sometimes pass test.
2019-10-22 14:30:23 +08:00
LoremKang
198717c071
try to solve the deadlock problem caused by locking SemArray while waiting for Semaphores.
2019-10-22 13:48:17 +08:00
LoremKang
d4d57a5095
finish semctl.setval. pass compilation.
2019-10-21 15:33:40 +08:00
HongboKang
c241ec1f5b
finish semget & semop. write a small test on semget.
2019-10-21 14:55:17 +08:00
HongboKang
64cdfa277f
pass compilation with semget and part of semop.
2019-10-18 02:16:32 +08:00
HongboKang
374c34cd34
write code for semget and semop. not compiled yet.
2019-10-14 23:30:20 +08:00
Bran
3caa091ec5
solve forktest problem, release zombie process when parent process exits. ( #21 )
2019-10-14 01:36:48 +08:00
Runji Wang
b11e1b9be1
update user submodule and thread crate
...
fix some bugs in ucore programs found at OSTrain2019
2019-10-06 13:47:55 +08:00
equation314
44f1c8e8c3
aarch64: Add some comments for SMP booting
2019-10-05 15:45:32 +08:00
equation314
3069e17d78
Remove unnecessary lazy_static
2019-10-05 13:02:43 +08:00
equation314
9f6cb5966d
Fix typo
2019-10-05 13:00:47 +08:00
equation314
6a7c72dbde
aarch64: add mutex for KERNEL_MEMORY_SET, update bcm2837
2019-10-05 00:11:50 +08:00
equation314
90c2cd28f8
aarch64: use new cache & TLB maintenance operations
2019-10-04 23:25:42 +08:00
equation314
acd7ee945a
Flush I/D cache after copying user code in page fault handler
...
* Now SMP works in real machine with no bugs!!!
2019-10-04 14:05:20 +08:00
equation314
444ce34859
aarch64: SMP works in real machine, but still have bugs
2019-10-03 21:04:22 +08:00
equation314
344ff85a21
Pass the environment variable SMP
to consts::SMP_CORES
2019-09-29 15:36:43 +08:00
equation314
fee3e87110
aarch64: SMP works in qemu!!!
2019-09-28 23:39:09 +08:00
equation314
c6a4792f13
aarch64: update crate bcm2837 to use local timer
2019-09-28 01:30:29 +08:00