Philipp Oppermann
9e74969732
Merge pull request #143 from phil-opp/kernel-heap-final
...
Add new post about creating a kernel heap
2016-04-12 09:44:00 +02:00
Philipp Oppermann
a365d19c46
Fix whitespace in rustc error message
2016-04-12 09:41:23 +02:00
Philipp Oppermann
43e73ff050
Add kernel heap post to readme
2016-04-12 00:47:05 +02:00
Philipp Oppermann
6839321233
Formatting: Run rustfmt
2016-04-12 00:47:05 +02:00
Philipp Oppermann
f2f2568e26
Formatting: Use same format as cargo-edit
2016-04-12 00:47:05 +02:00
Philipp Oppermann
2b85f38b41
Use new hole_list_allocator instead of bump_allocator
2016-04-12 00:47:05 +02:00
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