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

196 Commits

Author SHA1 Message Date
Jiajie Chen
8b06314828 Format code and update debug code 2019-06-03 09:33:02 +08:00
NagiNikaido
3535faccd9 Merge branch 'dev' of https://github.com/rcore-os/rCore into rcore-os-dev 2019-05-27 16:34:29 +08:00
Jiajie Chen
dcfb02c514 Add EAGAIN for nonblocking io and poll for file in read_at() 2019-05-24 20:53:13 +08:00
Jiajie Chen
22946c699d Allow ahci port init to fail 2019-05-24 19:21:48 +08:00
Jiajie Chen
0be1b1e56b Support 32bit MSI Addr 2019-05-24 16:45:28 +08:00
Jiajie Chen
e2bb86aa54 Get screen info from bootloader for vga 2019-05-24 16:20:25 +08:00
Jiajie Chen
e9c0bcadf7 Add graphic=console option and fix vga on x86_64 2019-05-24 15:20:39 +08:00
Jiajie Chen
c5acdb67e6 Fix compilation for merge and update vga buffer address 2019-05-24 08:57:21 +08:00
Jiajie Chen
53bb55b971 Merge remote-tracking branch 'origin/dev' into dev 2019-05-24 08:42:33 +08:00
Jiajie Chen
d1d7fe44a7 Fix condvar race(maybe) 2019-05-23 23:21:02 +08:00
PanQL
9740983b2d
Merge branch 'mgba' into dev 2019-05-23 21:11:13 +08:00
WangRunji
1a377ca7c3 x86_64: update bootloader. fix on real machine 2019-05-23 16:46:00 +08:00
equation314
97539dd760 aarch64: speed up page table map/unmap
1. update crate aarch64, call tlb_invalidate() instead of tlb_invalidate_all() in MapperFlush::flush().
2. reduce user stack size to 1MiB.
2019-05-21 00:46:12 +08:00
equation314
52251b2adb aarch64: refactor to linear mapping
TODO:
* `map`, `unmap` is significantly slower than other archs
* set segment permissions for kernel page table in bootloader
2019-05-20 21:51:53 +08:00
PanQL
9ac8f1b887 some work for console-vga(1024*7683) adaption 2019-05-12 01:43:02 +08:00
Jiajie Chen
26e47fc36f [WIP] Initial rv64 sv39 support 2019-05-12 01:11:53 +08:00
Jiajie Chen
d66df43ec0 [WIP] rv32 linear mapping 2019-05-11 12:21:58 +08:00
WangRunji
cd22273ef9 refactor to linear mapping for x86_64 2019-05-11 01:06:44 +08:00
WangRunji
d28f54ce32 show tid on log 2019-05-09 21:33:26 +08:00
PanQL
a0fc201695 set up vga 320x200 2019-05-09 21:16:25 +08:00
equation314
03a8b3e449 aarch64: disable FP/SIMD registers again, update crates 2019-05-07 22:37:53 +08:00
equation314
bfe03b8ea0 aarch64: fix vm clone fault in fork 2019-05-06 23:30:01 +08:00
Jiajie Chen
35079e4193 Bump buddy system allocator 2019-05-06 12:15:21 +08:00
BenjaminPMLovegood
682f772eb8 begin translation 2019-05-05 17:44:03 +08:00
BenjaminPMLovegood
5be9ae7775 Merge branch 'dev' into geminilab 2019-05-05 03:40:18 +08:00
BenjaminPMLovegood
f9bdcc7cd9 add emmc file. waiting for merging main repo. 2019-05-05 03:21:07 +08:00
WangRunji
6883127d5a update fs. add BlockCache 2019-05-03 00:35:00 +08:00
Jiajie Chen
8651f09b31 Automatically enlarge heap when kernel heap is about to run out 2019-05-01 18:33:55 +08:00
WangRunji
54de0d8ae7 remove once crate. fix bitvec crate commit id. 2019-05-01 00:18:11 +08:00
WangRunji
c885ea6d77 impl pseudo INode '/proc/self/exe' 2019-04-30 17:37:18 +08:00
WangRunji
27f5c7b2e4 detach thread to auto recycle tid. fix #25 2019-04-28 23:34:45 +08:00
NagiNikaido
1bfb979d96 Upd. #2 2019-04-21 14:32:24 +08:00
Jiajie Chen
ff50a45396 Now ready to use busybox sh for user shell 2019-04-17 08:16:02 +08:00
WangRunji
48c40497ac update crate uart_16550 to v0.2. deny unused_must_use. 2019-04-17 00:46:48 +08:00
WangRunji
f88cffb8ab fix bitvec version 2019-04-15 22:08:20 +08:00
NagiNikaido
ae710ca08d Toolchain version updated to nightly-2019-04-14. Bitvec commit id updated. 2019-04-15 21:08:02 +08:00
Jiajie Chen
41dab25f9c Merge remote-tracking branch 'origin/master' into dev 2019-04-09 20:30:30 +08:00
Harry Chen
358e682bad Enable PCI initialization for matal, update mips crate and user app repo
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-09 01:08:49 +08:00
Yuhao Zhou
b6aa9858d3 Fix return register in sys_clone. 2019-04-08 04:47:36 +08:00
Harry Chen
88bda7c4a0 Use Linux syscall number for mips N32 ABI, update user app
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-07 17:08:03 +08:00
Yuhao Zhou
9d576b4827 Update Cargo.lock for rust-mips. 2019-04-07 04:21:35 +08:00
Harry Chen
a2e98d73fd Extract serial driver and add mipssim board for mipsel
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 21:59:16 +08:00
Harry Chen
fedb53346a Update mips crate
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 15:46:08 +08:00
Harry Chen
62fe4e5361 Update rust-mips crate
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 14:45:28 +08:00
Harry Chen
48864bd79b Add more output to backtrace, revert fs change, update rust-mips
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-06 14:43:10 +08:00
WangRunji
a712f37c65 update fs. support poll for INode. 2019-04-05 23:20:17 +08:00
Harry Chen
9f7f82a72d Fix compilation errors in drivers
Signed-off-by: Harry Chen <i@harrychen.xyz>
2019-04-05 22:57:12 +08:00
WangRunji
56cb8654ae move E1000 driver to isomorphic_drivers crate 2019-04-05 22:15:56 +08:00
WangRunji
847664fda1 move AHCI driver to isomorphic_drivers crate 2019-04-05 20:24:45 +08:00
Jiajie Chen
b0c9087f0f Implement ioctl arp translation 2019-04-05 01:16:26 +08:00
Jiajie Chen
025007c8bf Upgrade rcore-thread for riscv fixes 2019-04-04 13:12:36 +08:00
WangRunji
b77a52dccb move bit-allocator and rcore-thread crate to remote 2019-04-04 12:45:55 +08:00
WangRunji
c9a68634f5 simplify FdSet using bitvec crate 2019-04-04 11:46:50 +08:00
Harry Chen
f8a62b5549 Merge remote-tracking branch 'origin/master' into mipsel 2019-04-04 00:31:59 +08:00
Jiajie Chen
66af7473eb Do not use alloc::prelude 2019-04-02 08:52:13 +08:00
Harry Chen
b6f1b3c926 Merge remote-tracking branch 'origin/master' into mipsel 2019-04-01 23:32:30 +08:00
Yuhao Zhou
a78916c57e Add MIPS target. 2019-03-31 22:04:22 +08:00
WangRunji
11c5609171 refactor PCI mod using pci crate 2019-03-30 23:48:33 +08:00
Jiajie Chen
9831cae13c Fix travis CI for riscv32 2019-03-29 15:19:40 +08:00
Jiajie Chen
311cf104f9 Many minor fixes to allow gcc to run inside rCore. Add some syscalls, fix SEEK_* and enlarge the heap 2019-03-29 13:14:08 +08:00
WangRunji
c2a90e2ab1 update dependencies 2019-03-27 18:45:24 +08:00
WangRunji
fc584753c1 update crate x86_64 to v0.5, bootloader to v0.4 2019-03-25 18:13:43 +08:00
Jiajie Chen
285ffc7618 Move absolute/relative path resolution to rcore-fs, implement dummy sys_fchown, sys_fchownat and sys_symlinkat 2019-03-24 18:25:13 +08:00
Jiajie Chen
547baa9ecd Implement symlink following 2019-03-23 15:47:44 +08:00
Jiajie Chen
0272aa1070 Implement sys_readlink and improve sys_mremap 2019-03-23 11:33:53 +08:00
Jiajie Chen
c7b34a7f72 Use enable_irq explicitly in ixgbe driver 2019-03-22 12:33:48 +08:00
Jiajie Chen
f09290442c Add pkttop.sh, bump user and drivers version 2019-03-20 23:02:12 +08:00
Jiajie Chen
6725ca10ab Fix IXGBE driver with drop and update user with working userland networking 2019-03-20 19:04:07 +08:00
WangRunji
b9a7888290 update fs. impl sys_sync, sys_rmdir. fix sys_unlink. 2019-03-20 16:59:47 +08:00
Jiajie Chen
e3b7efbc94 Move ixgbe to isomorphic_drivers, and format driver codes 2019-03-20 16:29:42 +08:00
WangRunji
442e1f4d0f merge bbl crate to kernel 2019-03-19 00:48:15 +08:00
WangRunji
d9bb072cbd update riscv crate 2019-03-19 00:43:06 +08:00
WangRunji
d0202c945e test and fix something on HiFiveU 2019-03-18 18:24:58 +08:00
equation314
28ce8ba81c update URL to new organization 2019-03-18 11:55:06 +08:00
Jiajie Chen
2ada090430 Use buddy_system_allocator for a drop inreplacement for linked_list_allocator 2019-03-18 09:00:51 +08:00
WangRunji
6e7e9149ee update URL to new organization 2019-03-18 01:14:30 +08:00
equation314
18626a2a19 Merge branch 'bootloader' into biscuit 2019-03-17 15:53:37 +08:00
WangRunji
a3edd38046 fix VGA color on x86_64 2019-03-16 15:54:43 +08:00
WangRunji
e70cac58c8 refactor x86_64 VGA using console-traits crate 2019-03-16 13:15:26 +08:00
WangRunji
b304764fb5 fix VGA on x86_64 2019-03-16 13:13:42 +08:00
WangRunji
40ac510ecd fix compile on riscv & aarch64 2019-03-12 11:49:17 +08:00
equation314
f3d47f4b02 aarch64: move crate bcm2837 to remote 2019-03-09 23:03:44 +08:00
equation314
68b967b48e aarch64: move crate atags into crate bcm2837 2019-03-09 22:20:12 +08:00
equation314
279f983786 aarch64: put the kernel in the top VA range 2019-03-09 19:50:28 +08:00
Jiajie Chen
b590545375 Implement sys_pwrite, sys_accept4 and dummy sys_chown, sys_epoll_create1. Allow recvfrom for tcp 2019-03-08 18:03:46 +08:00
WangRunji
fdc28724a3 fix sys_wait -1. update fs. 2019-03-08 15:54:03 +08:00
equation314
0e38439fb8 aarch64: enable MMU in bootloader 2019-03-07 23:25:26 +08:00
WangRunji
b66c8811d1 update bootloader to fix multi-core boot bug on x86_64 2019-03-02 12:37:55 +08:00
WangRunji
cab19688d5 rename File to FileHandle. impl create for sys_open. 2019-02-26 01:44:13 +08:00
WangRunji
6e8a0e20ab fix device compile error, update crate pc_keyboard 2019-02-22 21:15:05 +08:00
WangRunji
08c8d89974 update SFS to new rcore-fs 2019-02-22 17:10:57 +08:00
WangRunji
7927c7c168 Merge branch 'thread' into biscuit
# Conflicts:
#	kernel/src/process/mod.rs
#	kernel/src/process/structs.rs
#	kernel/src/syscall.rs
2019-02-22 12:06:21 +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
66c84b4599 update to x86_64 0.4 2019-01-28 14:24:56 +08:00
WangRunji
5bffce787b rename 'process' crate to 'thread' 2019-01-24 19:03:45 +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
WangRunji
2d5178d0b7 rename ucore to rcore 2019-01-03 21:26:50 +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