30 Commits (7b3b59bf1e6a293e9ae24d818e6a5a540b07d55e)

Author SHA1 Message Date
WangRunji 7b3b59bf1e Update crate `bitflags` to 1.0
7 years ago
WangRunji 77703442e7 Move `paging` mod to `arch`, as Redox did.
7 years ago
WangRunji d330bd8224 Merge branch 'dev' into move-kernel-va
7 years ago
WangRunji d5cd4673fb Discard va to pa. Higher half kernel complete.
7 years ago
WangRunji 230d5a0287 Move remap_the_kernel() out of `paging` mod. Add page fault handler.
7 years ago
WangRunji 9b4d9a4a1f Init IDT at beginning
7 years ago
WangRunji ab37e359ac Temporarily map pages and run pass APIC init.
7 years ago
WangRunji bacc97ee94 Move `address` to `memory` mod.
7 years ago
WangRunji 03d4adfcfe Fix rsp. Use PhysicalAddress.
7 years ago
WangRunji ca683e4787 More strict PhysicalAddress type
7 years ago
WangRunji 3b4f855763 Modify remap_kernel()
7 years ago
WangRunji eb9a5e9241 Impl Debug for page table
7 years ago
Philipp Oppermann f1459a552c Return a memory controller from memory::init
7 years ago
Philipp Oppermann 73d4390f27 Create a memory manager for convenience
7 years ago
Philipp Oppermann 0e3857ca50 Create a stack allocator module
7 years ago
Philipp Oppermann 01f8c43ffb Map the heap pages to physical frames
7 years ago
Philipp Oppermann f2bbe43099 Use once crate to ensure that memory::init is only called once
7 years ago
Philipp Oppermann 76550dcd95 Refactor: Move memory initialization to memory::init function
7 years ago
Philipp Oppermann c0d403abbe Set a global allocator
7 years ago
Philipp Oppermann 1f6633fe44 Add a heap_allocator module with a basic bump allocator
7 years ago
Philipp Oppermann 40f1732ccb Call remap_the_kernel from rust_main
7 years ago
Philipp Oppermann e029eabe18 Add a remap_the_kernel function
7 years ago
Philipp Oppermann 1f1f6c62da Derive Copy and Clone for Page and add a Frame::clone method
7 years ago
Philipp Oppermann 1007c5157d Remove paging testing code again
7 years ago
Philipp Oppermann b49cb6986c Test the map_to function
7 years ago
Philipp Oppermann fe464463eb Add `pointed_frame` and `set` methods to `Entry`
7 years ago
Philipp Oppermann c7c02d7dca Create a memory::paging module with a Page struct
7 years ago
Philipp Oppermann 9f1a69cafa Create a new AreaFrameAllocator and allocate maximum number of frames
7 years ago
Philipp Oppermann edb2e693da Create an AreaFrameAllocator
7 years ago
Philipp Oppermann 84c337e6f0 Create a memory module with a Frame struct and FrameAllocator trait
7 years ago