Harry Cheng
185fb6e891
Clean all warnings
5 years ago
Harry Cheng
605680401f
Compiles and works: 2019-04-14
5 years ago
Jiajie Chen
c67f00d7ca
Use MaybeUninit for uninitialized
6 years ago
Jiajie Chen
41da379593
Use new check_and_clone_cstr{,array}
6 years ago
Jiajie Chen
14a01cf3fc
Implement fixup for mipsel and small fixes
6 years ago
WangRunji
c8262f936f
fix paging for mips
6 years ago
WangRunji
cd22273ef9
refactor to linear mapping for x86_64
6 years ago
Yuhao Zhou
87d4027221
Align MemorySet with 64bytes.
6 years ago
Jiajie Chen
8651f09b31
Automatically enlarge heap when kernel heap is about to run out
6 years ago
WangRunji
60cdea81d9
fix check user ptr across VMAs
6 years ago
WangRunji
a25c8132fe
delay mapping file
6 years ago
WangRunji
88e1055eed
refactor fork MemorySet, introduce clone_map to MemoryHandler
6 years ago
WangRunji
8024401bd2
simplify x86_64 consts. keep MemoryArea order by start address
6 years ago
WangRunji
58271c7c8a
convert user ptr to reference on check
6 years ago
Jiajie Chen
cd2c78dd46
Add Rocket Chip platform in README
6 years ago
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!
6 years ago
WangRunji
f29f5e4d35
fix memory area alignment #41
6 years ago
WangRunji
b836b11792
reformat code using `cargo fmt`
6 years ago
Jiajie Chen
10e883d56f
Fix mmap clashing with temporary map addr. Add riscv toolchains in travis CI
6 years ago
Jiajie Chen
394afa493e
Fix TODO in work stealing scheduler
6 years ago
Jiajie Chen
48ebf98f11
Fix pop_with_split, check file existence in sys_access
6 years ago
Jiajie Chen
0272aa1070
Implement sys_readlink and improve sys_mremap
6 years ago
Jiajie Chen
08ba9261aa
Fix sys_mprotect with page alignment, dynamic loading seems working
6 years ago
WangRunji
5ddd5ece8d
rename, simplify
6 years ago
WangRunji
c6c76147d6
impl custom syscall: sys_get_paddr
6 years ago
Jiajie Chen
8cb11b7aa8
Implement tid/pid/ppid separation
6 years ago
WangRunji
84c12ae6e1
rename functions. ignore readonly in mmap to avoid page fault.
6 years ago
Jiajie Chen
1645451749
Implement memory_set splitting for munmap, add sys_sysinfo
6 years ago
Jiajie Chen
69498ae909
Fix delay memory handler: set present=true before unmapping
6 years ago
WangRunji
f7f740a021
remove TLS setup code. fix check writable memory
6 years ago
Jiajie Chen
84e07a6d83
Implement sys_mprotect and move attr setting from page_fault_handler to map in Delay
6 years ago
Jiajie Chen
2683314c38
Allocate pages eagerly for Delay when forking. Implement sys_getsockname.
6 years ago
Jiajie Chen
a51b9dbd90
Implement tls setup code(not working yet), tcp sys_bind and sys_connect
6 years ago
WangRunji
738554386b
introduce VMError to simplify EFAULT error handling
6 years ago
Jiajie Chen
e543449836
Implement basic version of sys_munmap and sys_time
6 years ago
WangRunji
6d78206f77
impl finding free area for mmap
6 years ago
WangRunji
ca45f8f152
fix check user ptr in syscalls
6 years ago
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
6 years ago
WangRunji
fc8888db72
update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000.
6 years ago
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
6 years ago
WangRunji
2d5178d0b7
rename ucore to rcore
6 years ago
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
6 years ago
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
6 years ago
WangRunji
a852c96136
Merge branch 'master' into rust-rv64
...
# Conflicts:
# crate/memory/src/memory_set.rs
# kernel/src/arch/riscv32/compiler_rt.rs
# kernel/src/arch/riscv32/memory.rs
# kernel/src/arch/riscv32/paging.rs
# kernel/src/memory.rs
# kernel/src/process/mod.rs
6 years ago
dzy
21adebb203
run until ms.token()
6 years ago
dzy
0dbffbc0fa
temporary
6 years ago
equation314
aa5bd3041b
Merge branch 'master' into arch-aarch64
6 years ago
Ben Pig Chu
07b8a063ec
maually remove warning, pt2
6 years ago
Ben Pig Chu
1ca2bde069
maually remove warning, pt1
6 years ago
equation314
b5cc79d1b2
modify mmio() & set_mmio() in PageEntry
6 years ago