Philipp Oppermann
|
02eaeb7af1
|
Switch to x86_64 crate and use its idt module
|
2017-03-15 16:58:15 +01:00 |
|
Philipp Oppermann
|
68dc7447f4
|
Run rustfmt
|
2017-03-09 17:50:44 +01:00 |
|
Philipp Oppermann
|
8ad76ba496
|
Create a new MemoryAllocator (and initialize it)
|
2017-01-02 19:11:56 +01:00 |
|
Philipp Oppermann
|
4347ff235f
|
Add a new stack_allocator module
|
2017-01-02 19:11:56 +01:00 |
|
Philipp Oppermann
|
7db15cf892
|
Reset source code to master again
(in order to follow the post and test the exact code from it)
|
2017-01-02 19:11:56 +01:00 |
|
Philipp Oppermann
|
c3bfcbcd8d
|
Silence dead code warning
|
2016-12-30 14:52:04 +01:00 |
|
Philipp Oppermann
|
ceb44d9c2e
|
Use x86's TaskStateSegment and use usize for stack pointers
|
2016-12-30 14:52:04 +01:00 |
|
Philipp Oppermann
|
ef786e1fe8
|
Update post and code
|
2016-12-30 14:52:04 +01:00 |
|
Philipp Oppermann
|
5f8de6e871
|
Create TSS and GDT modules and use a double fault stack
|
2016-12-30 14:52:04 +01:00 |
|
Philipp Oppermann
|
02697891e2
|
Update x86 crate to version 0.8.0 (#266)
|
2016-12-21 14:59:57 +01:00 |
|
Philipp Oppermann
|
a04924955a
|
Add missing license headers and update copyright year (#232)
|
2016-10-02 18:20:48 +02:00 |
|
Philipp Oppermann
|
c9d8afe434
|
Run rustfmt
|
2016-06-25 17:08:26 +02:00 |
|
Philipp Oppermann
|
1703827da2
|
Update to bitflags 0.7.0
|
2016-05-15 12:27:43 +02:00 |
|
Philipp Oppermann
|
6839321233
|
Formatting: Run rustfmt
|
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
|
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
|
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
|
4fcb4b3424
|
Make some more types public since they are part of the public interface
|
2016-02-24 17:34:36 +01:00 |
|
Philipp Oppermann
|
941b1fab1c
|
Use new section.is_allocated function
|
2016-02-24 17:14:39 +01:00 |
|
Philipp Oppermann
|
4142cff3e6
|
Identity map the multiboot info structure
|
2016-02-24 16:52:19 +01:00 |
|
Philipp Oppermann
|
ac6c1af84f
|
Remove test_paging function
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
1c2e6fca64
|
Remove unused imports
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
db928db0b5
|
Unmap the old P4 page to create a basic guard page for the kernel stack
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
76d1c41e96
|
Use correct section flags (causes a page fault)
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
b64f980c34
|
Identity map the vga text buffer
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
051596d8f9
|
Try to switch tables, causes boot loop
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
33322ec49b
|
Test it
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
dd51bde9f9
|
Add remap_the_kernel function
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
fe8c81a531
|
Backup and restore original recursive mapping in with
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
c16b3059cf
|
Add ActivePageTable::with draft
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
a100d5f63f
|
Split mapping functions of ActivePageTable into mapper subtype
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
716e3f7359
|
Zero and recursive map inactive table on creation
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
7ce86b3a80
|
Add temporary_page submodule
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
a7000e537c
|
Add InactivePageTableSkeleton
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
2198d09695
|
Add clone methods to Page(public) and Frame(private)
|
2016-01-01 18:05:16 +01:00 |
|
Philipp Oppermann
|
a9e5b7fd28
|
Update license headers
|
2015-12-29 12:31:25 +01:00 |
|
Philipp Oppermann
|
b39bb643dd
|
Rename RecursivePageTable to ActivePageTable
|
2015-12-25 13:14:14 +01:00 |
|
Rafal Mielniczuk
|
337799599a
|
Fix HierachicalLevel typo
|
2015-12-20 15:52:14 +01:00 |
|
Philipp Oppermann
|
165e6ebff8
|
Run rustfmt
|
2015-12-20 15:05:08 +01:00 |
|
Philipp Oppermann
|
7e83931746
|
The Iterator::min_by was renamed to min_by_key
|
2015-12-14 00:08:54 +01:00 |
|
Philipp Oppermann
|
617c92d017
|
Use a more expressive variable name
|
2015-12-10 16:55:54 +01:00 |
|
Philipp Oppermann
|
75264e7cac
|
Fix unmap function by flushing the TLB
|
2015-12-09 15:46:15 +01:00 |
|
Philipp Oppermann
|
8bb09f47f8
|
Test unmap function
|
2015-12-09 15:46:15 +01:00 |
|
Philipp Oppermann
|
cf5ea7664e
|
Test map_to function
|
2015-12-09 15:46:15 +01:00 |
|
Philipp Oppermann
|
786e1d5cab
|
Test translate function
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
d8c6b6f5b7
|
Add and call test_paging function
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
4fd8891aff
|
Add (buggy) unmap function
|
2015-12-09 15:46:14 +01:00 |
|