This project is mirrored from https://github.com/hermitcore/libhermit-rs.git.
Pull mirroring updated .
- 20 Nov, 2017 1 commit
-
-
Colin Finck authored
Implement physical and virtual memory managers, a FreeList for both, an even more generic DoublyLinkedList in Safe Rust, and a custom allocator. The data structures used to manage heap memory require dynamic memory allocations themselves. To solve this chicken-egg problem, I have introduced a "Bootstrap Allocator". This is a simple single-threaded implementation of a bump allocator using some preallocated space. As soon as all required data structures have been set up, the more sophisticated "System Allocator" is used. This code finally breaks compatibility with the HermitCore C implementation. It compiles, but applications can only be run again when the remaining kernel components have been ported.
-
- 09 Nov, 2017 1 commit
-
-
Colin Finck authored
Pull Request to upstream is out (https://github.com/gz/rust-cpuid/pull/12), but I don't expect the fix to appear in an official release soon.
-
- 30 Oct, 2017 1 commit
-
-
Colin Finck authored
Implement mapping pages in safe Rust, extensively using Rust's Typing System, Generics, and Specialization to handle all 4 page tables and support all 3 page sizes. Unsafe blocks only remain for dereferencing calculated addresses of the page tables and calling ASM/C functions. While it wasn't possible to port the optimized iterative algorithm from the C implementation of __page_map to safe Rust, the performance penalty of this recursive algorithm should be negligible. An iterative approach may be considered again as soon as Rust supports generic code over varying array sizes. This replaces the __page_map API provided by HermitCore.
-
- 19 Oct, 2017 1 commit
-
-
Colin Finck authored
This comes with many incompatible changes and bugs, so the x86 crate needed to be forked and fixed first (https://github.com/ColinFinck/rust-x86/tree/segmentation). Using all features of the newly updated x86 crate, the GDT initialization code can be highly simplified!
-
- 22 Aug, 2017 1 commit
-
-
Stefan Lankes authored
-
- 19 Aug, 2017 1 commit
-
-
Stefan Lankes authored
-
- 06 Aug, 2017 1 commit
-
-
Stefan Lankes authored
-
- 23 Jul, 2017 1 commit
-
-
Stefan Lankes authored
-
- 22 Jul, 2017 1 commit
-
-
Stefan Lankes authored
-
- 20 Jul, 2017 1 commit
-
-
Stefan Lankes authored
-
- 19 Jul, 2017 1 commit
-
-
Stefan Lankes authored
-
- 17 Jul, 2017 1 commit
-
-
Stefan Lankes authored
-