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

136 Commits

Author SHA1 Message Date
Runji Wang
a395d5ea10 move virtio drivers to external crate 2020-03-24 22:27:21 +08:00
Jiajie Chen
36a1ed98c8 Bump rcore-fs revision for newer bitvec version 2020-03-24 18:21:33 +08:00
Runji Wang
f66c8d29cd uppercase arguments in Makefile 2020-02-01 13:25:55 +08:00
Runji Wang
3723dde083 update dependencies and CI badge 2020-01-29 20:09:04 +08:00
Runji Wang
9c2459f2f0 update Rust nightly to 2020-01-17. remove dependence of cargo-xbuild. 2020-01-29 11:57:14 +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
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
164e94a146 Separate SFSIMG and SFSQCOW2 and fix aarch64 qemu boot 2019-06-16 00:03:32 +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
0be1b1e56b Support 32bit MSI Addr 2019-05-24 16:45:28 +08:00
Jiajie Chen
e9c0bcadf7 Add graphic=console option and fix vga on x86_64 2019-05-24 15:20:39 +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
Jiajie Chen
ba8f9370ba Remove rv48 support, for it has no use and it's easy to add back when necessary 2019-05-12 01:46:55 +08:00
WangRunji
cd22273ef9 refactor to linear mapping for x86_64 2019-05-11 01:06:44 +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
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
Jiajie Chen
2f6f8ef9bc Add syscall timing using rdtsc 2019-04-30 21:32:32 +08:00
Jiajie Chen
bfd4f8a2a4 Add initial support for Rocket Chip platform 2019-04-27 23:01:44 +08:00
WangRunji
45c2ec0b17 works on K210! 2019-04-21 23:48:46 +08:00
WangRunji
e01d23e526 replace riscv-pk by OpenSBI ! 2019-04-20 00:15:55 +08:00
WangRunji
48c40497ac update crate uart_16550 to v0.2. deny unused_must_use. 2019-04-17 00:46:48 +08:00
WangRunji
b566925626 fix Makefile on RISCV and PC 2019-04-17 00:45:44 +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
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