Jiajie Chen
221304d78a
Use phys_to_virt and virt_to_phys to replace the use of KERNEL_OFFSET
6 years ago
Harry Chen
887a207c8b
Run cargo fmt
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Jiajie Chen
2e599b0bab
Fix Rocket Chip serial interrupt
6 years ago
Jiajie Chen
2f2cbb81ac
Embed rocket chip dtb in code
6 years ago
Jiajie Chen
bfd4f8a2a4
Add initial support for Rocket Chip platform
6 years ago
WangRunji
45c2ec0b17
works on K210!
6 years ago
WangRunji
e01d23e526
replace riscv-pk by OpenSBI !
6 years ago
WangRunji
b836b11792
reformat code using `cargo fmt`
6 years ago
WangRunji
01a0f961e9
remove remaining M-Mode & K210 code. improve docs in context.rs
6 years ago
Jiajie Chen
e3fb47a03e
Remove m-mode and k210 support.
6 years ago
Jiajie Chen
9f03bfc849
Add rand module for ip port randomization and use ethernet default mtu in ixgbe
6 years ago
WangRunji
f6352b2688
fix serial interrupt on HiFiveU
6 years ago
WangRunji
442e1f4d0f
merge bbl crate to kernel
6 years ago
WangRunji
d0202c945e
test and fix something on HiFiveU
6 years ago
Jiajie Chen
8860f1e4a3
Implement mapping from riscv to x86_64 syscall numbering
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
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
daee1e9f94
fix bugs on K210
6 years ago
WangRunji
b3a8e95d78
merge interrupt & context switch for rv32 & rv64
6 years ago
dzy
6f2d059ba5
implement map_kernel, now enters the kernel well
6 years ago
WangRunji
af6d533cb5
fix trap return on M-Mode
6 years ago
WangRunji
3a4b8f5dac
fix trap for rv64
6 years ago
dzy
98c94a0d83
Fix register size (4->XLEN) in trap handling.
6 years ago
WangRunji
d3ef0252ac
move setup_page_table to BBL
6 years ago
WangRunji
0af9776dbd
add .stack section. clear bss
6 years ago
WangRunji
62b931d576
print hello on K210
6 years ago
Ben Pig Chu
7eb9f7abcf
maually remove warning, pt4
6 years ago
WangRunji
fcf5074500
impl M-mode kernel for riscv32
6 years ago
WangRunji
56fcad245a
update kernel to 2018 edition
6 years ago
WangRunji
ef75c8a072
fix unwrap panic. now user shell is working.
6 years ago
WangRunji
5ce7d0a9c0
use user shell by default. fix kernel shell removing user thread.
6 years ago
WangRunji
21b0bdcbca
separate kernel shell to a mod, remove console mod
6 years ago
WangRunji
ba4a24ba3b
Fix RV32 multi-core: Setup page table for other cores.
6 years ago
WangRunji
182c595a20
Enable multi-core on RV32.
7 years ago
WangRunji
5bc392f388
Enable RV32 IPI.
7 years ago
maoyuchaxue
49cd04dce3
added rv32 smp booting, with slight modification to bbl
7 years ago
maoyuchaxue
6cf0d6db23
fixed setting in riscv-pk to enable rv32ia, added smp option in Makefile
7 years ago
WangRunji
0a9c294814
Fix x86_64 startup. TODO: higher half.
...
* Remove legacy boot, MP, ACPI.
* Disable SMP.
* Modify startup: boot -> arch::init -> kmain.
* Fix FrameAllocator on x86_64.
* Remove kernel remap.
* Alloc kernel heap at bss.
7 years ago
WangRunji
cbe7affc5d
Merge riscv for QEMU & FPGA
7 years ago
WangRunji
3d0d6e3d02
Merge branch 'new-rv-toolchain' into board
...
# Conflicts:
# kernel/Makefile
# kernel/src/arch/riscv32/boot/entry.asm
7 years ago
WangRunji
10e3cea340
Only use Rust toolchain to build for rv32. Set arch to rv32i. x86_64 broken.
7 years ago
WangRunji
7e5726845f
Simple bootloader. Remove riscv-pk.
7 years ago
WangRunji
60c2a77ac1
Unify IO in arch
7 years ago
WangRunji
4faa8a65ae
Move kernel to a new directory
7 years ago