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

115 Commits

Author SHA1 Message Date
function2-llx
ff54128273 Merge branch 'master' of github.com:rcore-os/rCore 2020-05-22 23:10:54 +08:00
Liu Xiaoyi
0d41db4991
Fixed noncontiguous frame allocated in DMA initialization 2020-05-15 14:59:03 +08:00
function2-llx
64957a6d2e use wrapping add to prevent panic 2020-05-09 11:07:28 +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
WangRunji
2db599ab40 fix deprecated warnings 2019-07-24 22:43:15 +08:00
Jiajie Chen
08b59be1ae Use updated ACPI crate to parse ACPI in x86 2019-07-17 09:43:49 +08:00
Jiajie Chen
96357e63df Bump rust version to newer nightly and use acpi crate to print acpi info 2019-06-30 03:41:50 +08:00
Jiajie Chen
a285b242e9 Fix compilation for mipsel 2019-06-16 22:02:25 +08:00
Jiajie Chen
611c2dd5bf Align vm area to page boundary and fix musl's reclaim() 2019-06-15 22:26:28 +08:00
Jiajie Chen
c67f00d7ca Use MaybeUninit for uninitialized 2019-05-22 14:23:04 +08:00
Jiajie Chen
41da379593 Use new check_and_clone_cstr{,array} 2019-05-16 00:49:46 +08:00
Jiajie Chen
14a01cf3fc Implement fixup for mipsel and small fixes 2019-05-16 00:28:29 +08:00
WangRunji
c8262f936f fix paging for mips 2019-05-11 12:00:39 +08:00
WangRunji
cd22273ef9 refactor to linear mapping for x86_64 2019-05-11 01:06:44 +08:00
Yuhao Zhou
87d4027221 Align MemorySet with 64bytes. 2019-05-07 00:38:39 +08:00
Jiajie Chen
8651f09b31 Automatically enlarge heap when kernel heap is about to run out 2019-05-01 18:33:55 +08:00
WangRunji
60cdea81d9 fix check user ptr across VMAs 2019-04-30 16:30:00 +08:00
WangRunji
a25c8132fe delay mapping file 2019-04-30 15:02:52 +08:00
WangRunji
88e1055eed refactor fork MemorySet, introduce clone_map to MemoryHandler 2019-04-30 11:34:31 +08:00
WangRunji
8024401bd2 simplify x86_64 consts. keep MemoryArea order by start address 2019-04-30 01:45:01 +08:00
WangRunji
58271c7c8a convert user ptr to reference on check 2019-04-28 17:16:07 +08:00
Jiajie Chen
cd2c78dd46 Add Rocket Chip platform in README 2019-04-27 23:04:10 +08:00
chyyuu
734e01cc46 fix bug: sys_mmap didn't zero clean the anonymous memory
We can use delay mode or eager mode(in added comment codes)
WRJ's great work!
2019-04-25 16:00:29 +08:00
WangRunji
f29f5e4d35 fix memory area alignment #41 2019-04-18 21:29:45 +08:00
WangRunji
b836b11792 reformat code using cargo fmt 2019-03-27 18:45:24 +08:00
Jiajie Chen
10e883d56f Fix mmap clashing with temporary map addr. Add riscv toolchains in travis CI 2019-03-26 17:33:32 +08:00
Jiajie Chen
394afa493e Fix TODO in work stealing scheduler 2019-03-24 21:39:15 +08:00
Jiajie Chen
48ebf98f11 Fix pop_with_split, check file existence in sys_access 2019-03-24 16:25:32 +08:00
Jiajie Chen
0272aa1070 Implement sys_readlink and improve sys_mremap 2019-03-23 11:33:53 +08:00
Jiajie Chen
08ba9261aa Fix sys_mprotect with page alignment, dynamic loading seems working 2019-03-23 00:46:32 +08:00
WangRunji
5ddd5ece8d rename, simplify 2019-03-22 23:45:57 +08:00
WangRunji
c6c76147d6 impl custom syscall: sys_get_paddr 2019-03-16 21:24:41 +08:00
Jiajie Chen
8cb11b7aa8 Implement tid/pid/ppid separation 2019-03-10 15:23:15 +08:00
WangRunji
84c12ae6e1 rename functions. ignore readonly in mmap to avoid page fault. 2019-03-09 15:55:00 +08:00
Jiajie Chen
1645451749 Implement memory_set splitting for munmap, add sys_sysinfo 2019-03-09 07:15:47 +08:00
Jiajie Chen
69498ae909 Fix delay memory handler: set present=true before unmapping 2019-03-08 15:24:28 +08:00
WangRunji
f7f740a021 remove TLS setup code. fix check writable memory 2019-03-08 10:50:46 +08:00
Jiajie Chen
84e07a6d83 Implement sys_mprotect and move attr setting from page_fault_handler to map in Delay 2019-03-08 00:03:06 +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
a51b9dbd90 Implement tls setup code(not working yet), tcp sys_bind and sys_connect 2019-03-06 10:19:19 +08:00
WangRunji
738554386b introduce VMError to simplify EFAULT error handling 2019-03-03 01:27:30 +08:00
Jiajie Chen
e543449836 Implement basic version of sys_munmap and sys_time 2019-03-02 20:15:55 +08:00
WangRunji
6d78206f77 impl finding free area for mmap 2019-02-26 00:46:25 +08:00
WangRunji
ca45f8f152 fix check user ptr in syscalls 2019-02-22 16:30:56 +08:00
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
2019-02-16 16:52:11 +08:00
WangRunji
fc8888db72 update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000. 2019-01-31 23:20:21 +08:00
WangRunji
047f4ffdcc cherry-pick jiegec's work (#3) from lab8-rv32: virtio drivers, network stack
Read and parse dtb upon boot

Implement virtio net device detection

Negotiate feature bits for virtio-net

Read MAC address from virtio-net device and detect virtqueues

Receiving from virtio net device is working for the first time

Implement driver interface and interrupt handling routines

Rearrange drivers into upper directory

Implement initial support for processing arp request and reply packet

Refactor MAC address and IPv4 address into structs, and implement ICMP echo reply

Fix typos

Implement initial support for virtio gpu driver

Complete first working version of virtio gpu driver with mandelbrot example

Use smoltcp and implement a udp and tcp server on top of it

Cleanup virtio net code
2019-01-23 22:28:45 +08:00
WangRunji
2d5178d0b7 rename ucore to rcore 2019-01-03 21:26:50 +08:00
WangRunji
61dfcb5558 Merge remote-tracking branch 'equation314/arch-aarch64' into merging
# Conflicts:
#	kernel/Makefile
#	kernel/src/arch/aarch64/board/raspi3/irq.rs
#	kernel/src/arch/aarch64/memory.rs
#	kernel/src/arch/riscv32/paging.rs
#	kernel/src/arch/x86_64/paging.rs
2019-01-03 18:21:13 +08:00
WangRunji
33eaded142 Merge remote-tracking branch 'bpc/user-lib-bin' into merge-1228
# Conflicts:
#	kernel/src/arch/riscv32/compiler_rt.c
#	kernel/src/arch/riscv32/consts.rs
#	kernel/src/arch/riscv32/context.rs
#	kernel/src/arch/riscv32/io.rs
#	kernel/src/arch/riscv32/memory.rs
#	kernel/src/arch/riscv32/paging.rs
#	user/ucore-ulib/src/syscall.rs
2018-12-28 17:41:21 +08:00