1
0
mirror of https://github.com/rcore-os/rCore.git synced 2024-11-23 16:36:18 +04:00
Commit Graph

186 Commits

Author SHA1 Message Date
WangRunji
6d78206f77 impl finding free area for mmap 2019-02-26 00:46:25 +08:00
WangRunji
254663e976 impl a simple work-stealing scheduler 2019-02-24 02:26:55 +08:00
WangRunji
5a1b3e0dff no longer support 'remove' in Scheduler 2019-02-24 01:50:29 +08:00
WangRunji
a224e85c8d split scheduler mod, make Scheduler Sync
biscuit: fix argc, argv
2019-02-23 19:28:38 +08:00
WangRunji
e678186b3d support idle for rcore-thread, remove idle thread in kernel 2019-02-23 16:54:02 +08:00
WangRunji
ca45f8f152 fix check user ptr in syscalls 2019-02-22 16:30:56 +08:00
WangRunji
7927c7c168 Merge branch 'thread' into biscuit
# Conflicts:
#	kernel/src/process/mod.rs
#	kernel/src/process/structs.rs
#	kernel/src/syscall.rs
2019-02-22 12:06:21 +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
086fcd4079 rename 'event_hub' to 'timer', add doc and simplify 2019-01-28 13:48:18 +08:00
WangRunji
1541282ad7 add example for 'thread' crate 2019-01-24 22:44:28 +08:00
WangRunji
5bffce787b rename 'process' crate to 'thread' 2019-01-24 19:03:45 +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
equation314
1aa8436d71 aarch64/doc: add interruption & timer drivers 2019-01-01 20:47:19 +08:00
WangRunji
5d7e97d9e9 fix interrupt in process crate 2018-12-31 22:49:28 +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
WangRunji
c65b7357a4 use riscv crate from github 2018-12-28 17:00:59 +08:00
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
2018-12-28 16:55:09 +08:00
WangRunji
b3a8e95d78 merge interrupt & context switch for rv32 & rv64 2018-12-27 19:48:08 +08:00
dzy
6f2d059ba5 implement map_kernel, now enters the kernel well 2018-12-26 15:42:08 +08:00
dzy
21adebb203 run until ms.token() 2018-12-26 14:56:13 +08:00
dzy
a4348428a6 can run until update 2018-12-26 13:58:08 +08:00
dzy
d67a224494 add wrj's 704af94 patch 2018-12-26 11:55:27 +08:00
dzy
ed3fb6d423 another temporary 2018-12-26 09:54:14 +08:00
dzy
0dbffbc0fa temporary 2018-12-26 00:12:10 +08:00
dzy
b7e124930d fix compilation errors 2018-12-24 21:36:33 +08:00
dzy
3910f71521 preliminary support for riscv64, not tested.
riscv32 runs fine.
2018-12-24 20:52:54 +08:00
equation314
aa5bd3041b Merge branch 'master' into arch-aarch64 2018-12-20 23:07:16 +08:00
Ben Pig Chu
d737b1e7ba maually remove warning, pt6 2018-12-18 21:39:19 +08:00
Ben Pig Chu
6eb49a0106 maually remove warning, pt5 2018-12-18 16:29:09 +08:00
Ben Pig Chu
07b8a063ec maually remove warning, pt2 2018-12-18 12:53:56 +08:00
Ben Pig Chu
1ca2bde069 maually remove warning, pt1 2018-12-17 23:54:13 +08:00
dzy
61a3beb8ba Start porting for rv64 2018-12-17 14:58:16 +08:00
equation314
b5cc79d1b2 modify mmio() & set_mmio() in PageEntry 2018-12-17 14:28:51 +08:00
equation314
5987c2068b aarch64/fb: remap framebuffer base address 2018-12-16 22:26:04 +08:00
WangRunji
9b0b0064d0 Merge remote-tracking branch 'equation314/arch-aarch64' into dev
# Conflicts:
#	kernel/src/arch/aarch64/memory.rs
#	kernel/src/arch/aarch64/paging.rs
#	kernel/src/process/context.rs
2018-12-15 20:33:25 +08:00
equation314
d7511d8120 aarch64/fb: add mailbox property interfaces 2018-12-14 21:19:44 +08:00
WangRunji
557f021c08 fix DelayHandler & MemoryAttr 2018-12-14 02:31:46 +08:00
equation314
4257b76183 aarch64/fb: add bcm2837 mailbox 2018-12-12 01:24:36 +08:00
equation314
81af2c82fd aarch64: reduce some warnings, config system/generic timer in Makefile 2018-12-11 16:58:04 +08:00
equation314
5a165178cc aarch64: implement IRQ register & serial IRQ 2018-12-11 15:07:13 +08:00
WangRunji
ff806d4465 move common codes to InactivePageTable trait 2018-12-08 12:50:50 +08:00
WangRunji
102866bcf9 introduce MemoryHandler and refactor MemorySet. temporary disable swap.
This is a manual rebase of LCY's code
2018-12-08 00:29:55 +08:00
equation314
28d872064d Merge branch 'master' of https://github.com/wangrunji0408/RustOS into arch-aarch64 2018-12-07 11:35:07 +08:00
equation314
aa5e7a4e6f remove #![feature(extern_crate_item_prelude)] 2018-12-03 17:22:11 +08:00
Wang Runji
3f2beab52d
Merge branch 'master' into user-img 2018-12-02 22:39:59 +08:00
WangRunji
2afe8c731e Merge remote-tracking branch 'equation314/arch-aarch64' into dev
# Conflicts:
#	crate/memory/src/memory_set.rs
#	kernel/Cargo.lock
#	kernel/src/arch/aarch64/interrupt/handler.rs
#	kernel/src/arch/aarch64/interrupt/mod.rs
#	kernel/src/arch/aarch64/memory.rs
#	kernel/src/arch/aarch64/mod.rs
#	kernel/src/arch/aarch64/paging.rs
#	kernel/src/consts.rs
#	kernel/src/fs.rs
#	kernel/src/lib.rs
#	kernel/src/memory.rs
#	kernel/src/process/context.rs
#	tools/riscv-pk/.gitignore
#	tools/riscv-pk/LICENSE
#	tools/riscv-pk/Makefile.in
#	tools/riscv-pk/README.md
#	tools/riscv-pk/aclocal.m4
#	tools/riscv-pk/bbl/bbl.ac
#	tools/riscv-pk/bbl/bbl.c
#	tools/riscv-pk/bbl/bbl.h
#	tools/riscv-pk/bbl/bbl.lds
#	tools/riscv-pk/bbl/bbl.mk.in
#	tools/riscv-pk/bbl/logo.c
#	tools/riscv-pk/bbl/payload.S
#	tools/riscv-pk/bbl/raw_logo.S
#	tools/riscv-pk/bbl/riscv_logo.txt
#	tools/riscv-pk/config.h.in
#	tools/riscv-pk/configure
#	tools/riscv-pk/configure.ac
#	tools/riscv-pk/dummy_payload/dummy_entry.S
#	tools/riscv-pk/dummy_payload/dummy_payload.lds
#	tools/riscv-pk/dummy_payload/dummy_payload.mk.in
#	tools/riscv-pk/machine/atomic.h
#	tools/riscv-pk/machine/bits.h
#	tools/riscv-pk/machine/disabled_hart_mask.h
#	tools/riscv-pk/machine/emulation.c
#	tools/riscv-pk/machine/emulation.h
#	tools/riscv-pk/machine/encoding.h
#	tools/riscv-pk/machine/fdt.c
#	tools/riscv-pk/machine/fdt.h
#	tools/riscv-pk/machine/finisher.c
#	tools/riscv-pk/machine/finisher.h
#	tools/riscv-pk/machine/flush_icache.c
#	tools/riscv-pk/machine/htif.c
#	tools/riscv-pk/machine/htif.h
#	tools/riscv-pk/machine/machine.ac
#	tools/riscv-pk/machine/machine.mk.in
#	tools/riscv-pk/machine/mcall.h
#	tools/riscv-pk/machine/mentry.S
#	tools/riscv-pk/machine/minit.c
#	tools/riscv-pk/machine/misaligned_ldst.c
#	tools/riscv-pk/machine/mtrap.c
#	tools/riscv-pk/machine/mtrap.h
#	tools/riscv-pk/machine/muldiv_emulation.c
#	tools/riscv-pk/machine/uart.c
#	tools/riscv-pk/machine/uart.h
#	tools/riscv-pk/machine/uart16550.c
#	tools/riscv-pk/machine/uart16550.h
#	tools/riscv-pk/machine/unprivileged_memory.h
#	tools/riscv-pk/machine/vm.h
#	tools/riscv-pk/scripts/config.guess
#	tools/riscv-pk/scripts/config.sub
#	tools/riscv-pk/scripts/install.sh
#	tools/riscv-pk/scripts/mk-install-dirs.sh
#	tools/riscv-pk/scripts/vcs-version.sh
#	tools/riscv-pk/util/snprintf.c
#	tools/riscv-pk/util/string.c
#	tools/riscv-pk/util/util.mk.in
2018-12-02 00:27:10 +08:00
equation314
75b039c924 aarch64/mmu: move crate aarch64 to remote 2018-12-01 22:26:55 +08:00