1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-26 01:43:29 +04:00
Commit Graph

1102 Commits

Author SHA1 Message Date
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
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
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
Yuekai Jia
c99266c013
Merge branch 'master' into dev 2019-09-26 11:29:39 +08:00
equation314
f76208542b aarch64: add map_kernel() function
* create fine-grained mappings in memory::init()
* put physical memory mappings to 0xFFFF_8000_0000_0000
* reuse ioremap() for framebuffer memory
2019-09-26 02:25:02 +08:00
equation314
48d7fb091a aarch64: no longer use bootloader, enable paging in entry.S 2019-09-24 20:12:28 +08:00
Runji Wang
3beddf12da build: remove filling symbols. prepare command 'make test'. 2019-09-24 14:26:18 +08:00
Runji Wang
2722371d86 mips: fix build 2019-09-24 01:49:08 +08:00
Runji Wang
8dac3f107f travis: remove GCC toolchain, download prebuilt user image from github release 2019-09-24 01:49:08 +08:00
equation314
233ccdd914 Fix fnctl nonblock check
musl will add extra flags when set `arg` to `O_NONBLOCK` for non-x86 architecture
2019-09-23 22:16:20 +08:00
fengyuan
0639affc55 error exit will return to shell 2019-09-18 23:38:46 +08:00
Runji Wang
5a2f1d5be0 x86_64: use ACPI address from bootloader 2019-09-14 00:27:39 +08:00
Runji Wang
a07822a446 x86_64: fix for real hardware. remove legacy drivers. 2019-09-13 23:00:00 +08:00
Runji Wang
590df849f3 update Rust toolchain and README
NOTE: MIPS is broken due to a Rust compiler bug
2019-09-11 23:58:52 +08:00
Runji Wang
50d833e420 refactor fb & console mod structure
- move both modules to crate::drivers
- no longer need `probe_fb_info` for each board
2019-09-11 23:58:52 +08:00
Jiajie Chen
0778f8f84c Bump rcore-console version, fixing mipsel compilation 2019-09-11 23:48:10 +08:00
Runji Wang
c2a80c54f9 x86_64: switch from legacy BIOS to UEFI. use rboot as new bootloader
- remove dependencies: rust-osdev/{bootloader, bootimage}
- remove kernel stack segment
- find a bug: IDT should be initialized after GDT
2019-09-04 10:37:31 +08:00
Runji Wang
977c0badcb remove 'runui' makefile command 2019-09-03 12:15:33 +08:00
equation314
d65aba8470 Update FramebufferInfo 2019-09-03 00:27:23 +08:00
equation314
22f5cf93fd aarch64: map framebuffer & set mem attr in bootloader 2019-09-02 21:46:41 +08:00
equation314
2237d2e5bd aarch64: pass bootinfo from bootloader to kernel 2019-08-30 18:22:28 +08:00