WangRunji
f7f740a021
remove TLS setup code. fix check writable memory
6 years ago
WangRunji
a33d7632d6
rename 'KERN_VA_BASE' to 'KERNEL_OFFSET'. fix compile error
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
681a90657a
let Makefile support riscv64
7 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
7 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
7 years ago
dzy
6f2d059ba5
implement map_kernel, now enters the kernel well
7 years ago
dzy
ccee527272
runs without pagefault but does not reach end of remap_kernel
7 years ago
dzy
ed3fb6d423
another temporary
7 years ago
dzy
0dbffbc0fa
temporary
7 years ago
dzy
3910f71521
preliminary support for riscv64, not tested.
...
riscv32 runs fine.
7 years ago
WangRunji
70b6db4282
make clear_bss faster
7 years ago
WangRunji
d3ef0252ac
move setup_page_table to BBL
7 years ago
WangRunji
3ea104da97
Merge remote-tracking branch 'dzy/rust-rv64' into rust-rv64
...
# Conflicts:
# kernel/Cargo.toml
7 years ago
WangRunji
0af9776dbd
add .stack section. clear bss
7 years ago
dzy
a75e52691d
port to newer riscv crate supporting rv64
7 years ago
Ben Pig Chu
7eb9f7abcf
maually remove warning, pt4
7 years ago
WangRunji
102866bcf9
introduce MemoryHandler and refactor MemorySet. temporary disable swap.
...
This is a manual rebase of LCY's code
7 years ago
WangRunji
18640b7537
impl NoMMU
7 years ago
WangRunji
56fcad245a
update kernel to 2018 edition
7 years ago
WangRunji
205f90a264
Merge branch 'dev' into g4-merge
...
# Conflicts:
# crate/memory/src/cow.rs
# crate/memory/src/memory_set.rs
# crate/memory/src/paging/mod.rs
# crate/memory/src/swap/mod.rs
# crate/process/src/lib.rs
# crate/process/src/process_manager.rs
# crate/process/src/processor.rs
# crate/process/src/thread.rs
# crate/riscv
# kernel/Cargo.lock
# kernel/src/arch/riscv32/compiler_rt.rs
# kernel/src/arch/riscv32/consts.rs
# kernel/src/arch/riscv32/context.rs
# kernel/src/arch/riscv32/interrupt.rs
# kernel/src/arch/riscv32/memory.rs
# kernel/src/arch/riscv32/mod.rs
# kernel/src/arch/riscv32/paging.rs
# kernel/src/arch/x86_64/driver/ide.rs
# kernel/src/arch/x86_64/interrupt/handler.rs
# kernel/src/arch/x86_64/mod.rs
# kernel/src/console.rs
# kernel/src/consts.rs
# kernel/src/fs.rs
# kernel/src/lib.rs
# kernel/src/memory.rs
# kernel/src/process/context.rs
# kernel/src/process/mod.rs
# kernel/src/syscall.rs
# kernel/src/trap.rs
7 years ago
lcy1996
f4305b382f
Add comment and report for expr4
7 years ago
lcy1996
5ee44588e0
Enlarge the physical and kernel heap memory. Fix the bug in map the kernel.
7 years ago
WangRunji
200a574a1f
fix physical memory range on RV32
7 years ago
WangRunji
ba4a24ba3b
Fix RV32 multi-core: Setup page table for other cores.
7 years ago
WangRunji
72dc3f62ad
Remove kernel stack from MemorySet.
7 years ago
maoyuchaxue
49cd04dce3
added rv32 smp booting, with slight modification to bbl
7 years ago
lcy1996
cef2d792be
Add part of comments for riscv32 module
7 years ago
lcy1996
4e0b510895
Finish comment for ristv boot.
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
b99dc3d1cf
Merge branch 'new-rv-toolchain' into board
7 years ago
WangRunji
384f6a9c9c
Change kernel heap to identity map
7 years ago
WangRunji
7e5726845f
Simple bootloader. Remove riscv-pk.
7 years ago
WangRunji
1ad3ed738e
Can run user program in RV32
7 years ago
WangRunji
4faa8a65ae
Move kernel to a new directory
7 years ago