Yuhao Zhou
e8071b5d50
Fix a minor bug.
6 years ago
Yuhao Zhou
a10a7cafa1
Add interrupt dispatcher.
6 years ago
Yuhao Zhou
53317e84c4
Add context.
6 years ago
Yuhao Zhou
1fba79d26a
Fix a syntax error.
6 years ago
Yuhao Zhou
40e4d23c19
Merge branch 'mipsel' of github.com:oscourse-tsinghua/rcore_plus into mipsel
6 years ago
Yuhao Zhou
05f9327272
Update mips paging.rs.
6 years ago
Harry Chen
78b7c7b893
Fix syscall handling for mipsel, update user programs repo
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Jiajie Chen
99bb25fa7d
Typo: bit_allocator => bitmap_allocator
6 years ago
WangRunji
b77a52dccb
move bit-allocator and rcore-thread crate to remote
6 years ago
Harry Chen
f8a62b5549
Merge remote-tracking branch 'origin/master' into mipsel
6 years ago
Harry Chen
8bc00324c8
Extract common framebuffer driver from aarch64
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
0acb65ff74
Add driver for thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
f394f0fccb
Add DTS for thinpad
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
6245d86a27
Move dts to board dir, fix some import error
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
015cc72aa4
Fix malta drivers
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
8dff9f1b14
Re-orgnize drivers for mipsel, extract FBConsole driver to common directory
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
85245c4e21
Finish serial initialization
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
4e3b2fb80f
Add support for 16550 serial controller
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
2d5b6948b5
Pass dtb to driver, remove rv code in io
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
0a02315990
Add kernel stack for exception handling
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
4ddcdeb004
Complete DTS for qemu-malta
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Harry Chen
b6f1b3c926
Merge remote-tracking branch 'origin/master' into mipsel
6 years ago
Harry Chen
34c3d139a1
Modify linker script to mipsel arch, add dts in kernel binary
...
Signed-off-by: Harry Chen <i@harrychen.xyz>
6 years ago
Yuhao Zhou
d588a922ab
Fix some syntax errors.
6 years ago
Yuhao Zhou
bcff364b1a
Add exception handler for MIPS.
6 years ago
Yuhao Zhou
9bdac887f0
Remove SBI.
6 years ago
Yuhao Zhou
95b9fe5f5b
Add timer for mips.
6 years ago
Yuhao Zhou
e53b3c16f6
Add interrupt for mips32 in crate::thread.
6 years ago
Yuhao Zhou
a78916c57e
Add MIPS target.
6 years ago
Jiajie Chen
cbba658e22
Implement ATA IDENTIFY DEVICE via AHCI interface
6 years ago
Jiajie Chen
311cf104f9
Many minor fixes to allow gcc to run inside rCore. Add some syscalls, fix SEEK_* and enlarge the heap
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
WangRunji
dc19d38dc7
convert all C-style comments to Rust-style docs
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
WangRunji
fc584753c1
update crate x86_64 to v0.5, bootloader to v0.4
6 years ago
Jiajie Chen
0edfc07939
Allow page fault handler to bypass process lock and fix thread pool wakeup for exited process
6 years ago
Jiajie Chen
9f03bfc849
Add rand module for ip port randomization and use ethernet default mtu in ixgbe
6 years ago
Jiajie Chen
d285adf277
Fix last commit for exit_in_qemu
6 years ago
Jiajie Chen
6725ca10ab
Fix IXGBE driver with drop and update user with working userland networking
6 years ago
Jiajie Chen
cf3b183311
Use jumbo frame in ixgbe
6 years ago
Jiajie Chen
fffc330f47
Fix u540 serial print and fix sys_accept
6 years ago
WangRunji
f6352b2688
fix serial interrupt on HiFiveU
6 years ago
WangRunji
442e1f4d0f
merge bbl crate to kernel
6 years ago
WangRunji
d9bb072cbd
update riscv crate
6 years ago
Jiajie Chen
0d2bc0a7d4
Implement irq allocation and use irq number to identify irq source
6 years ago
WangRunji
d0202c945e
test and fix something on HiFiveU
6 years ago
Jiajie Chen
f2362d26df
Disable pci interrupt temporary before we are able to read pci routing table
6 years ago
Jiajie Chen
b7f47235f8
Add support for PCI legacy interrupts
6 years ago
equation314
eca05a1685
add non-x86 syscall ids
6 years ago
equation314
18626a2a19
Merge branch 'bootloader' into biscuit
6 years ago
WangRunji
5a619825bc
fix VGA and support keyboard escape char for rust/sh
6 years ago
WangRunji
a3edd38046
fix VGA color on x86_64
6 years ago
WangRunji
e70cac58c8
refactor x86_64 VGA using console-traits crate
6 years ago
WangRunji
b304764fb5
fix VGA on x86_64
6 years ago
Jiajie Chen
8860f1e4a3
Implement mapping from riscv to x86_64 syscall numbering
6 years ago
Jiajie Chen
cd23967f97
Fix riscv32 hartid saving
6 years ago
WangRunji
b8460e20d8
fix riscv syscall ABI. fix store user tp and kernel hartid
6 years ago
Jiajie Chen
543fb971ed
Fix input blocked when keyboard input is fast
6 years ago
WangRunji
40ac510ecd
fix compile on riscv & aarch64
6 years ago
equation314
681c0be801
aarch64: fix the potential memory overlapping bug of bootloader
6 years ago
WangRunji
9269a9856d
support fast syscall
6 years ago
equation314
68b967b48e
aarch64: move crate `atags` into crate `bcm2837`
6 years ago
equation314
279f983786
aarch64: put the kernel in the top VA range
6 years ago
WangRunji
84c12ae6e1
rename functions. ignore readonly in mmap to avoid page fault.
6 years ago
WangRunji
dc55238989
fix sys_clone newtls
6 years ago
WangRunji
d51c52902d
minimal impl sys_clone
6 years ago
Jiajie Chen
35dad6853f
Enable SSE and save FP registers in trapframe, implement sys_pread, sys_uname and sys_sched_getaffinity, support FIXED in mmap
6 years ago
WangRunji
f7f740a021
remove TLS setup code. fix check writable memory
6 years ago
equation314
0e38439fb8
aarch64: enable MMU in bootloader
6 years ago
Jiajie Chen
c5aa5922bd
Fix forking and sys_dup2, implement sys_getsockopt and update sys_exec
6 years ago
WangRunji
9e6483f488
refactor driver: make (Net)Driver Sync. may help avoid deadlock?
6 years ago
Jiajie Chen
a51b9dbd90
Implement tls setup code(not working yet), tcp sys_bind and sys_connect
6 years ago
equation314
8bb1e65ba7
load kernel elf in bootloader
6 years ago
Jiajie Chen
dcb1b51a5f
Improve time-related syscall precision and add some comment for MSI
6 years ago
Jiajie Chen
c6c89198cd
Add cmos rtc driver for x86
6 years ago
Jiajie Chen
1a1e39c960
Move socket set to iface, redesign NetDriver trait and implement blocking net syscalls
6 years ago
equation314
b94ba7759e
add aarch64 bootloader framework
6 years ago
WangRunji
f76374000e
fix x86_64 syscall register (r10)
6 years ago
equation314
7a278cd421
Merge branch 'master' into biscuit
6 years ago
equation314
50a8de35bc
aarch64: save current TTBR1_EL1 in context switch
...
fixed a bug: when the context switch occurs in InactivePageTable::edit() or InactivePageTable::with() which modify TTBR1_EL1 temporarily, TTBR1_EL1 can be restored to the unmodified value after context switch.
6 years ago
Jiajie Chen
671b7c7b54
Implement backtrace support for x86_64
6 years ago
Jiajie Chen
197bebb1d2
Implement pci bus probing and fix a bug in virtio_mmio
6 years ago
WangRunji
05310dcd7d
refactor GDT mod
6 years ago
WangRunji
7a704673d7
save fsbase to TrapFrame on x86_64
6 years ago
WangRunji
6e8a0e20ab
fix device compile error, update crate pc_keyboard
6 years ago
WangRunji
8a1a38853e
support 'syscall' instruction by handling invalid opcode exception
6 years ago
WangRunji
a6b0da0c2f
rename x86_64 exception consts
6 years ago
WangRunji
a33d7632d6
rename 'KERN_VA_BASE' to 'KERNEL_OFFSET'. fix compile error
6 years ago
WangRunji
95dfb7684f
update kflash.py, fix build k210
6 years ago
WangRunji
2303a8099b
update Rust compiler to support riscv64
6 years ago
WangRunji
ac0c19cdb0
support Sv39
...
To test: make run arch=riscv64 board=u540
6 years ago
WangRunji
fc8888db72
update for new paging mechanism on riscv. move kernel va to 0x(ffffffff)c0000000.
6 years ago
WangRunji
847a1c7576
use core::sync::atomic::fence
6 years ago
WangRunji
66c84b4599
update to x86_64 0.4
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
0965d24083
fix map_kernel on riscv32
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