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

225 Commits

Author SHA1 Message Date
Runji Wang
9c2459f2f0 update Rust nightly to 2020-01-17. remove dependence of cargo-xbuild. 2020-01-29 11:57:14 +08:00
Jiajie Chen
ab8356f28d Bump rboot and user commit, update Cargo.lock and fix addr2line.py 2020-01-29 10:59:39 +08:00
Runji Wang
af83913188 fix data racing on thread crate
The key point is that all methods on 'Processor' must be called with interrupt disabled. Otherwise if an interrupt happened inside a method, and then the thread is switched to other CPUs, it will touch other 'Processor'.
2019-11-30 18:11:26 +08:00
Runji Wang
7d1a37a7bf update Rust nightly to 2019-11-28
- disable hard float on mips to avoid LLVM error
- update smoltcp and fix drivers for API change
- update atomic.patch for libcore on riscv
- update rboot to fit new nightly
2019-11-30 15:48:09 +08:00
LoremKang
b5c08c2825 add support for mmap shared memory. passed compilation. 2019-11-08 02:36:55 +08:00
Runji Wang
b11e1b9be1 update user submodule and thread crate
fix some bugs in ucore programs found at OSTrain2019
2019-10-06 13:47:55 +08:00
equation314
6a7c72dbde aarch64: add mutex for KERNEL_MEMORY_SET, update bcm2837 2019-10-05 00:11:50 +08:00
equation314
90c2cd28f8 aarch64: use new cache & TLB maintenance operations 2019-10-04 23:25:42 +08:00
equation314
fee3e87110 aarch64: SMP works in qemu!!! 2019-09-28 23:39:09 +08:00
equation314
c6a4792f13 aarch64: update crate bcm2837 to use local timer 2019-09-28 01:30:29 +08:00
equation314
f76208542b aarch64: add map_kernel() function
* create fine-grained mappings in memory::init()
* put physical memory mappings to 0xFFFF_8000_0000_0000
* reuse ioremap() for framebuffer memory
2019-09-26 02:25:02 +08:00
equation314
48d7fb091a aarch64: no longer use bootloader, enable paging in entry.S 2019-09-24 20:12:28 +08:00
Runji Wang
a07822a446 x86_64: fix for real hardware. remove legacy drivers. 2019-09-13 23:00:00 +08:00
Jiajie Chen
0778f8f84c Bump rcore-console version, fixing mipsel compilation 2019-09-11 23:48:10 +08:00
Runji Wang
c2a80c54f9 x86_64: switch from legacy BIOS to UEFI. use rboot as new bootloader
- remove dependencies: rust-osdev/{bootloader, bootimage}
- remove kernel stack segment
- find a bug: IDT should be initialized after GDT
2019-09-04 10:37:31 +08:00
equation314
2237d2e5bd aarch64: pass bootinfo from bootloader to kernel 2019-08-30 18:22:28 +08:00
equation314
fa30f5f96b aarch64: fix bus address for mailbox property 2019-08-28 21:38:50 +08:00
equation314
d56a88947e aarch64: set ttbr0_el1 to null for kernel thread, fixed #56 2019-08-28 01:41:47 +08:00
Jiajie Chen
55cfce6c02 Show target in logging, and fix console deadlock 2019-08-23 10:44:24 +08:00
Runji Wang
c881bdc65d move Console to extern crate
also remove x86_64 VGA text mode support
2019-08-16 11:11:49 +08:00
Jiajie Chen
655c1f19c2 Move impl_inode default impl to rcore-fs crate 2019-08-07 18:55:35 +08:00
Jiajie Chen
92d878c144 Correctly report rdev of device nodes 2019-08-05 18:20:17 +08:00
WangRunji
78b322e842 update crates 2019-08-02 17:34:55 +08:00
WangRunji
52d72790bc introduce MountFS, mount RamFS at /tmp, mount DevFS at /dev 2019-08-02 17:24:27 +08:00
Jiajie Chen
08b59be1ae Use updated ACPI crate to parse ACPI in x86 2019-07-17 09:43:49 +08:00
Jiajie Chen
96357e63df Bump rust version to newer nightly and use acpi crate to print acpi info 2019-06-30 03:41:50 +08:00
Jiajie Chen
ffe4fae975 Fix ahci driver and match ahci driver by SATA class 2019-06-28 17:01:31 +08:00
Jiajie Chen
4607e0646d Fix vga in vmware 2019-06-27 11:28:03 +08:00
gjz010
7b8252eb1b Basic loadable kernel module support, with a module template written in Rust.
Under aarch64 and x86_64, hello_rust can be built and loaded by `/busybox insmod hello_rust.ko`.
2019-06-07 20:59:51 +08:00
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