Philipp Oppermann
|
94d4f8df8e
|
Update x86 crate to version 0.8.0 (#266)
(cherry picked from commit 02697891e2)
|
2016-12-21 15:09:45 +01:00 |
|
Philipp Oppermann
|
7f80db6fb4
|
Add missing license headers and update copyright year (#232)
(cherry picked from commit a04924955a)
|
2016-10-02 18:31:20 +02:00 |
|
Philipp Oppermann
|
c9d8afe434
|
Run rustfmt
|
2016-06-25 17:08:26 +02:00 |
|
Philipp Oppermann
|
6839321233
|
Formatting: Run rustfmt
|
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
|
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
|
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
|
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 |
|
Philipp Oppermann
|
165e6ebff8
|
Run rustfmt
|
2015-12-20 15:05:08 +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
|
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 |
|
Philipp Oppermann
|
dabef43db9
|
Reset src to master to be able to follow step-by-stp
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
bd00921dac
|
Use expect instead of unwrap
|
2015-12-09 15:42:45 +01:00 |
|
Philipp Oppermann
|
15427b363a
|
Take page by value in mapping functions
(there is no reason to borrow it at the moment)
|
2015-12-09 15:42:45 +01:00 |
|
Philipp Oppermann
|
b314d4827f
|
Move Frame::start_address to memory/mod.rs and use it in identity_map()
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
6ed376112d
|
PAGE_SIZE is already defined in memory/mod.rs
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
557738e705
|
Add a RecursivePageTable::new function
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
c5fac2647e
|
Merge lock.rs into mod.rs
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
cdaad86a06
|
Change semantics of start_address and containing_address
The page numbers now respect the memory hole between higher and lower half.
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
6535aa017d
|
Add lock module (name is temporary)
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
a8df7b2e4d
|
Finish basics of new paging module
|
2015-12-09 15:38:46 +01:00 |
|