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
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
03ed3ce9a0
Replace buggy range.step_by with a Frame::range_inclusive function
2016-03-06 13:42:31 +01:00
Philipp Oppermann
ac6c1af84f
Remove test_paging function
2016-01-01 18:05:16 +01:00
Philipp Oppermann
33322ec49b
Test it
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
d8c6b6f5b7
Add and call test_paging function
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
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
a8df7b2e4d
Finish basics of new paging module
2015-12-09 15:38:46 +01:00
Philipp Oppermann
ae49ab5072
Add alternative paging module with new design
2015-12-09 15:38:45 +01:00
Philipp Oppermann
f917bd67a1
Begin paging module
2015-12-08 22:20:19 +01:00
Philipp Oppermann
a8600a00b6
Don't derive Copy/Clone for Frame so we can be sure that it's free
...
If a Frame would be clonable or even Copy, the frame could be freed (e.g. passed to deallocate_frame) and used thereafter. Or it could be freed multiple times.
2015-11-19 19:56:22 +01:00
Philipp Oppermann
8304439c82
Add a FrameAllocator trait
2015-11-15 12:00:03 +01:00
Philipp Oppermann
a2047bc70a
Add an AreaFrameAllocator
2015-11-15 12:00:03 +01:00
Philipp Oppermann
6f8a21eba6
Create a memory module with a Frame struct
2015-11-15 12:00:03 +01:00