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

284 Commits

Author SHA1 Message Date
WangRunji
32e7f0ed52 fix process startup stack for musl libc 2019-02-18 21:46:12 +08:00
WangRunji
a33d7632d6 rename 'KERN_VA_BASE' to 'KERNEL_OFFSET'. fix compile error 2019-02-18 14:42:25 +08:00
Jiajie Chen
fbf9409db2 Convert frame buffer to pa in virtio_gpu as well 2019-02-16 19:15:24 +08:00
Jiajie Chen
f399805196 Use KERN_VA_BASE and MEMORY_OFFSET to convert between kern va and pa 2019-02-16 18:06:32 +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
95dfb7684f update kflash.py, fix build k210 2019-02-16 14:31:47 +08:00
WangRunji
2303a8099b update Rust compiler to support riscv64 2019-02-15 14:54:42 +08:00
WangRunji
ac0c19cdb0 support Sv39
To test: make run arch=riscv64 board=u540
2019-02-01 01:09:23 +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
1ceb7ae12d use #[repr(C)] instead of #[repr(packed)] to avoid warning 2019-01-31 18:07:15 +08:00
WangRunji
847a1c7576 use core::sync::atomic::fence 2019-01-29 16:08:00 +08:00
WangRunji
66c84b4599 update to x86_64 0.4 2019-01-28 14:24:56 +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
Jiajie Chen
b1d01928c3 Use core::mem::size_of instead of core:intrinsics::size_of. Thanks @wangrunji0408 2019-01-08 22:10:51 +08:00
Jiajie Chen
6e887d5505 Replace hardcoded instruction length with size_of in backtrace 2019-01-08 19:08:17 +08:00
Jiajie Chen
090796d3f0 Implement backtrace support for RISCV32 2019-01-08 12:05:29 +08:00
Jiajie Chen
7d6856ceab Implement backtrace support for RISCV64 2019-01-08 11:33:31 +08:00
Jiajie Chen
d8edd1a7db Implement backtrace support for AArch64 2019-01-08 11:05:28 +08:00
WangRunji
0965d24083 fix map_kernel on riscv32 2019-01-05 15:29:27 +08:00
WangRunji
2d5178d0b7 rename ucore to rcore 2019-01-03 21:26:50 +08:00
WangRunji
f0ea48126d fix sys_wait arg type: isize -> i32 2019-01-03 18:37:27 +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
dfb2d49cd6 aarch64/doc: add console driver 2019-01-02 19:15:47 +08:00
equation314
1aa8436d71 aarch64/doc: add interruption & timer drivers 2019-01-01 20:47:19 +08:00
equation314
7fda4e360f aarch64/doc: add GPIO, mini UART, mailbox drivers 2019-01-01 01:56:22 +08:00
WangRunji
190711fbc2 yet another riscv atomic fix 2019-01-01 01:40:34 +08:00
equation314
e1d0d2a020 aarch64/doc: add overview of AArch64 2018-12-31 22:51:13 +08:00
WangRunji
681a90657a let Makefile support riscv64 2018-12-28 23:35:50 +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
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
92ae57b251 fix user program memory layout on NoMMU 2018-12-27 22:44:01 +08:00
WangRunji
daee1e9f94 fix bugs on K210 2018-12-27 22:43:48 +08:00
WangRunji
b3a8e95d78 merge interrupt & context switch for rv32 & rv64 2018-12-27 19:48:08 +08:00
WangRunji
de24f6673c remove '\r' 2018-12-27 15:56:20 +08:00
WangRunji
0d957ff1a6 fix getchar on K210 2018-12-26 23:53:14 +08:00
dzy
4b17055f30 running user program. 2018-12-26 21:07:36 +08:00
dzy
e74f749ff3 fix context change bug. user sh is running!!! 2018-12-26 16:10:00 +08:00
dzy
6f2d059ba5 implement map_kernel, now enters the kernel well 2018-12-26 15:42:08 +08:00
dzy
bf3a67a7e4 remap_kernel runs fine 2018-12-26 15:03:35 +08:00
dzy
21adebb203 run until ms.token() 2018-12-26 14:56:13 +08:00
dzy
ccee527272 runs without pagefault but does not reach end of remap_kernel 2018-12-26 14:04:11 +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
WangRunji
af6d533cb5 fix trap return on M-Mode 2018-12-25 00:56:25 +08:00
WangRunji
020e3505ee enable timer interrupt for K210 2018-12-25 00:30:21 +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
WangRunji
3a4b8f5dac fix trap for rv64 2018-12-24 20:28:42 +08:00