Philipp Oppermann
|
b050b475f7
|
Add missing license headers and update copyright year (#232)
(cherry picked from commit a04924955a)
|
2016-10-02 18:31:18 +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 |
|
Philipp Oppermann
|
d52c79b106
|
Add map and identity_map functions
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
86d8e99271
|
Make translate and map_to safe by making them RecursivePageTable methods
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
fb7d2d22b6
|
Add RecursivePageTable as an owner for the P4 table
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
46b93e0650
|
Add unsafe map_to function and make translate unsafe, too
These functions are unsafe because it's possible to get aliased &mut references.
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
e84344f59a
|
Add function to translate virtual to physical address
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
d267ac1c98
|
Define the next_table methods only for P4, P3, and P2 tables
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
e5a4114262
|
Add unsafe next_table methods
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
e071c24680
|
Recursive map the P4 table
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
96b0dc0c66
|
Model page tables
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
14384fb27f
|
Model page table entries
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
d827f51bb6
|
Create basic paging module
|
2015-12-09 15:46:14 +01:00 |
|