Commit Graph

337 Commits (1708c4e6d416de548c39e5befe351f3ed24f8184)

Author SHA1 Message Date
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
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
6 years ago
Harry Chen 0acb65ff74 Add driver for thinpad
6 years ago
Harry Chen f394f0fccb Add DTS for thinpad
6 years ago
Harry Chen 6245d86a27 Move dts to board dir, fix some import error
6 years ago
Harry Chen 015cc72aa4 Fix malta drivers
6 years ago
Harry Chen 8dff9f1b14 Re-orgnize drivers for mipsel, extract FBConsole driver to common directory
6 years ago
Harry Chen 85245c4e21 Finish serial initialization
6 years ago
Harry Chen 4e3b2fb80f Add support for 16550 serial controller
6 years ago
Harry Chen 2d5b6948b5 Pass dtb to driver, remove rv code in io
6 years ago
Harry Chen 0a02315990 Add kernel stack for exception handling
6 years ago
Harry Chen 4ddcdeb004 Complete DTS for qemu-malta
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
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
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
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
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
6 years ago