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
# Conflicts:
# src/arch/x86_64/boot/linker.ld
# src/consts.rs
# src/interrupts/mod.rs
|
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 |