Commit Graph

398 Commits

Author SHA1 Message Date
Philipp Oppermann
6a45b29560 Create hole_list_allocator crate 2016-04-12 00:47:05 +02:00
Philipp Oppermann
eac60162ad Fix page fault by mapping the complete heap 2016-04-12 00:47:05 +02:00
Philipp Oppermann
fbc1c60164 Ensure that memory::init is only called once 2016-04-12 00:47:05 +02:00
Philipp Oppermann
cea73b3ab9 Move memory intialization to memory::init function 2016-04-12 00:47:05 +02:00
Philipp Oppermann
9e46fb21c7 Try to allocate something (causes a page fault) 2016-04-12 00:47:05 +02:00
Philipp Oppermann
f25cb599c2 Link bump_allocator and alloc and collections crates 2016-04-12 00:47:05 +02:00
Philipp Oppermann
c6981c2f24 Create bump_allocator crate 2016-04-12 00:47:05 +02:00
Philipp Oppermann
5f84061469 Add new post about creating a kernel heap 2016-04-12 00:47:04 +02:00
Philipp Oppermann
05f76f525c Merge pull request #141 from phil-opp/patch1
Fix bug in frame iteration
2016-03-06 15:03:51 +01:00
Philipp Oppermann
1d8a36a14b Rewrite remap_the_kernel post to use range_inclusive instead of step_by 2016-03-06 15:01:48 +01:00
Philipp Oppermann
03ed3ce9a0 Replace buggy range.step_by with a Frame::range_inclusive function 2016-03-06 13:42:31 +01:00
Philipp Oppermann
23df363136 Update to changes introduced in 4fcb4b3424 2016-02-24 17:35:47 +01:00
Philipp Oppermann
4fcb4b3424 Make some more types public since they are part of the public interface 2016-02-24 17:34:36 +01:00
Philipp Oppermann
c145f9f1d1 Use function in post as well 2016-02-24 17:18:59 +01:00
Philipp Oppermann
941b1fab1c Use new section.is_allocated function 2016-02-24 17:14:39 +01:00
Philipp Oppermann
3b7638bb1d Merge pull request #131 from phil-opp/remap-the-kernel-update
Identity map the multiboot structure to fix the frame allocator
2016-02-24 17:02:47 +01:00
Philipp Oppermann
6734417e0f Add update note 2016-02-24 17:00:09 +01:00
Philipp Oppermann
0aa9b27f9b Add `Fixing the FrameAllocator section
Document changes from e3021d17d542e10328985ae5d0e0e373897835b3
2016-02-24 16:53:47 +01:00
Philipp Oppermann
5ee21d43f7 Use new linker script in post as well
New linker script from 86a59723bc0ead07497b0ea84d9543761a9f4430
2016-02-24 16:53:47 +01:00
Philipp Oppermann
635f7d3f9d Align section size instead of section start due to #126
This fixes the problem that GRUB sometimes puts the multiboot info struct between kernel sections if the hole is big enough. This leads to problems since we would try to map the same page twice in that case.
2016-02-24 16:52:19 +01:00
Philipp Oppermann
4142cff3e6 Identity map the multiboot info structure 2016-02-24 16:52:19 +01:00
Philipp Oppermann
75aa669cdb Merge pull request #135 from phil-opp/phil-opp-patch-1
Add `#[allow(dead_code)]` to Color enum
2016-02-22 07:30:54 +01:00
Philipp Oppermann
8b2ec752b7 Add #[allow(dead_code)] to Color enum 2016-02-22 07:28:58 +01:00
Philipp Oppermann
aea5054cf3 Change email of travis update bot 2016-02-18 17:56:16 +01:00
Philipp Oppermann
ac9044bd96 Some improvements to remap-the-kernel and allocating-frames 2016-02-13 22:44:09 +01:00
Philipp Oppermann
d321982755 Merge pull request #130 from phil-opp/phil-opp-patch-1
Improve introduction for frame allocation and explain what a frame is
2016-02-05 10:52:41 +01:00
Philipp Oppermann
2795b33fd6 Improve introduction for frame allocation and explain what a frame is 2016-02-04 20:05:25 +01:00
Philipp Oppermann
75bd3c8785 Merge pull request #129 from phil-opp/phil-opp-patch-1
Improve Printing to Screen post
2016-02-04 17:10:32 +01:00
Philipp Oppermann
d421bac590 Remove mention of byte strings as they are not compatible to write_str 2016-02-04 16:41:58 +01:00
Philipp Oppermann
b092e79495 Better document changes required for unstable feature & extern crate 2016-02-04 16:40:18 +01:00
Philipp Oppermann
aaffb32bbd Make clear in which file the code fragments go 2016-02-03 18:01:58 +01:00
Philipp Oppermann
937224a2c7 Merge pull request #127 from phil-opp/phil-opp-patch-1
Add/extend explanations in Entering Longmode
2016-02-02 23:13:14 +01:00
Philipp Oppermann
de2305038a Improve comments in code as well 2016-02-02 23:11:19 +01:00
Philipp Oppermann
bb4d64dc99 Extend explanation for long mode test and improve code comments 2016-02-02 23:09:44 +01:00
Philipp Oppermann
d6efe62c80 Add some explanation for the long mode check 2016-02-01 23:57:09 +01:00
Philipp Oppermann
c2c863c7f3 Use cmp and je instead of xor and jz 2016-02-01 23:42:09 +01:00
Philipp Oppermann
b9c94baaaa Explain the CPUID check 2016-02-01 23:40:45 +01:00
Philipp Oppermann
cbf4534eca Explain cmp, jmp and jne instructions more detailed 2016-02-01 19:28:18 +01:00
Philipp Oppermann
7b16d80d98 Merge pull request #125 from phil-opp/phil-opp-patch-1
Link travis build and note that the code works for the newest nightly
2016-01-27 17:42:09 +01:00
Philipp Oppermann
1a886fed5d Link travis build and note that the code should work for the newest nightly 2016-01-27 17:38:07 +01:00
Philipp Oppermann
df72565933 Merge pull request #123 from FreeFull/patch-1
Fix type name: `Entry` instead of `EntryFlags`
2016-01-20 14:40:37 +01:00
Filip Szczepański
cb8c438820 Fix type name: Entry instead of EntryFlags
Fix for #120
2016-01-20 13:34:15 +00:00
Philipp Oppermann
954ec78a44 Merge pull request #122 from phil-opp/update-x86-crate
Update x86 crate to version 0.6 and disable performance counter
2016-01-20 00:13:15 +01:00
Philipp Oppermann
865dd9cd72 Update x86 crate to version 0.6 and disable performance counter 2016-01-20 00:06:46 +01:00
Philipp Oppermann
23ee000f70 Split large command block 2016-01-19 23:24:07 +01:00
Philipp Oppermann
49b78f59e2 Merge pull request #121 from phil-opp/grub-troubleshooting
Add grub-mkrescue troubleshooting steps
2016-01-19 23:23:31 +01:00
Philipp Oppermann
4beecbe138 Add grub-mkrescue troubleshooting steps 2016-01-19 23:07:23 +01:00
Philipp Oppermann
86d27933ff Merge pull request #120 from phil-opp/phil-opp-patch-1
Fix type name: `EntryFlags` instead of `TableEntryFlags`
2016-01-19 13:07:38 +01:00
Philipp Oppermann
1bd054d718 Fix type name: EntryFlags instead of TableEntryFlags 2016-01-19 13:04:27 +01:00
Philipp Oppermann
5bc31e7c46 Mention xorriso in Readme
See #104
2016-01-18 23:16:17 +01:00