Commit Graph

330 Commits

Author SHA1 Message Date
Philipp Oppermann
93fd330ab9 Use bitmask instead of align_offset 2020-01-28 10:29:53 +01:00
Philipp Oppermann
3ad5f117c2 Use checked addition for allocator implementations (#726) 2020-01-27 13:25:08 +01:00
Philipp Oppermann
d1678f5a96 Implement align_up using align_offset from Rust's standard library 2020-01-22 11:35:29 +01:00
Philipp Oppermann
002d6f255f Set FixedSizeBlockAllocator as global allocator 2020-01-20 14:09:00 +01:00
Philipp Oppermann
6c3bf0b10f Implement GlobalAlloc::dealloc 2020-01-20 14:07:47 +01:00
Philipp Oppermann
7a792f5cb0 Implement GlobalAlloc::alloc 2020-01-20 14:07:02 +01:00
Philipp Oppermann
93b4dcf434 Add skeleton for GlobalAlloc implementation 2020-01-20 14:06:26 +01:00
Philipp Oppermann
821dd2adb4 Add function to calculate the list index 2020-01-20 14:05:24 +01:00
Philipp Oppermann
d636939b51 Add FixedSizeBlockAllocator::fallback_alloc method 2020-01-20 14:05:01 +01:00
Philipp Oppermann
9b7326541e Add FixedSizeBlockAllocator type 2020-01-20 14:04:13 +01:00
Philipp Oppermann
4f234b67ef Add ListNode type and BLOCK_SIZES constant 2020-01-20 14:02:57 +01:00
Philipp Oppermann
7381e11f3c Create a new fixed_size_block allocator submodule 2020-01-20 14:01:59 +01:00
Philipp Oppermann
a9fe65a0ce Use new LinkedListAllocator 2020-01-10 13:04:46 +01:00
Philipp Oppermann
2001814119 Implement LinkedListAllocator::size_align 2020-01-10 13:00:16 +01:00
Philipp Oppermann
a5c50e7408 Implement GlobalAlloc for LinkedListAllocator 2020-01-10 11:52:04 +01:00
Philipp Oppermann
70a52c291d Implement alloc_from_region 2020-01-10 11:48:56 +01:00
Philipp Oppermann
c56bfa27e4 Implement find_region 2020-01-10 11:46:10 +01:00
Philipp Oppermann
55aec9ebf3 Apply rustfmt to ListNode::new function 2020-01-10 11:44:38 +01:00
Philipp Oppermann
2e1d132a9a Implement add_free_region 2020-01-10 11:44:17 +01:00
Philipp Oppermann
63e8577d77 Create a basic LinkedListAllocator type 2020-01-10 11:42:04 +01:00
Philipp Oppermann
45be3f0648 Use our BumpAllocator instead of linked_list_allocator crate 2020-01-09 15:37:43 +01:00
Philipp Oppermann
055c560a7a Add an align_up function 2020-01-09 15:36:06 +01:00
Philipp Oppermann
e87044a7ee Implement GlobalAlloc for BumpAllocator 2020-01-09 15:35:03 +01:00
Philipp Oppermann
08d2289dad Add a Locked wrapper type that can be used to implement GlobalAlloc 2020-01-09 15:34:04 +01:00
Philipp Oppermann
7c84dbaa1d Create a basic BumpAllocator type 2020-01-09 15:25:37 +01:00
Philipp Oppermann
869a69e531 Move #[global_allocator] into allocator module (#714)
The Rust issue that the #[global_allocator] cannot be defined in submodules was fixed.
2020-01-08 12:38:06 +01:00
Philipp Oppermann
3ac5318c94 Remove now unneeded unsafe block
The `map_to` method is safe since x86_64 0.8.1.
2019-12-11 16:47:45 +01:00
Philipp Oppermann
e94a489a31 Merge branch 'post-09' into post-10 2019-12-11 16:38:08 +01:00
Philipp Oppermann
c7bc26d8ee Update frame allocation code to x86_64 0.8.1 2019-12-11 16:26:38 +01:00
Philipp Oppermann
9d31eb8aa8 Merge branch 'post-07' into post-08 2019-12-10 17:17:53 +01:00
Philipp Oppermann
3ffd71723f Merge branch 'post-06' into post-07 2019-12-10 17:17:53 +01:00
Philipp Oppermann
f226ba0c3f Merge branch 'post-09' into post-10 2019-12-10 17:17:53 +01:00
Philipp Oppermann
94aa2c4093 Merge branch 'post-08' into post-09 2019-12-10 17:17:53 +01:00
Philipp Oppermann
d1cf8000a3 Make double fault handlers diverging
Required by x86_64 0.8.0.
2019-12-10 17:02:46 +01:00
Philipp Oppermann
b9a0702bc0 Merge branch 'post-09' into post-10 2019-11-25 13:35:20 +01:00
Philipp Oppermann
84ddda6a3f Merge branch 'post-08' into post-09 2019-11-25 13:35:20 +01:00
Philipp Oppermann
37b8b42cba Add missing hlt_loop import 2019-11-25 13:35:18 +01:00
Philipp Oppermann
2919cbdefc Merge branch 'post-09' into post-10 2019-11-25 13:25:15 +01:00
Philipp Oppermann
f85664fd6b Merge branch 'post-08' into post-09 2019-11-25 13:25:15 +01:00
Philipp Oppermann
1e86c9f5f0 Merge branch 'post-07' into post-08 2019-11-25 13:25:15 +01:00
Philipp Oppermann
084a77775f Merge branch 'post-06' into post-07 2019-11-25 13:25:02 +01:00
Philipp Oppermann
590585da33 Merge branch 'post-05' into post-06 2019-11-25 13:24:09 +01:00
Philipp Oppermann
6828849bc4 Remove cfg(not(windows)) from interrupt module
This is no longer required and was already removed from the post in commit 992b958414.
2019-11-25 13:19:07 +01:00
Philipp Oppermann
059ea76848 Merge branch 'post-09' into post-10 2019-11-22 16:33:23 +01:00
Philipp Oppermann
a65573b061 Merge branch 'post-08' into post-09 2019-11-22 16:33:23 +01:00
Philipp Oppermann
723776f852 Merge branch 'post-07' into post-08 2019-11-22 16:33:23 +01:00
Philipp Oppermann
b5b37d6e2b Remove unused crate::hlt_loop import 2019-11-22 16:12:28 +01:00
Philipp Oppermann
c3f76cf1f0 Use panic instead of println + hlt_loop for double fault handler 2019-11-22 16:06:56 +01:00
Philipp Oppermann
3470636653 Use panic! instead of println! + loop in double fault handler (#687)
This avoids an endless loop when a double fault occurs while running `cargo xtest`.
2019-11-22 15:56:56 +01:00
Philipp Oppermann
f56e4d24e3 Add missing import 2019-09-14 19:08:53 +02:00