3moon
|
590f35a4c5
|
Xargo.toml: build alloc
|
8 years ago |
3moon
|
e9dee7092e
|
switch on feature(const_unique_new)
|
8 years ago |
3moon
|
288e4b55dc
|
depend on a fork of spin-rs that actually builds on nightly
|
8 years ago |
3moon
|
f4706ec30d
|
make HierarchicalLevel pub
|
8 years ago |
3moon
|
9045c8ca3b
|
Unique::new() -> Unique::new_unchecked()
|
8 years ago |
3moon
|
d83db2e669
|
Use the old p4 table's page as a guard page
|
8 years ago |
3moon
|
c361682d4c
|
slight cleanup; move memory initialization to memory::init()
|
8 years ago |
3moon
|
b62a39956d
|
Remove scary warning comment in kernel_main()
it no longer applies
|
8 years ago |
3moon
|
ae4c7cbd63
|
Configurable log level
|
8 years ago |
3moon
|
955815007e
|
boot.asm: fix typo that made p3[0] -> p2 PRESENT but not WRITABLE
This caused major issues when switching on the WRPROT flag
|
8 years ago |
3moon
|
0b22410c5e
|
kernel_main: enable NXE, WRPROT bits before remapping kernel
|
8 years ago |
3moon
|
718b2eead9
|
kernel_main: some additional logging/testing stuff
|
8 years ago |
3moon
|
63446779fe
|
remap_kernel: Identity map the Multiboot info structure
|
8 years ago |
3moon
|
e5bca418c0
|
memory::paging::remap_kernel: use ELF section flags when setting up pages
|
8 years ago |
3moon
|
24f0bd6ca0
|
memory::paging::entry::Entry: implement flag loading from ELF section
|
8 years ago |
3moon
|
c83ab3c3a2
|
Remap the kernel! (finally)
|
8 years ago |
3moon
|
4985b66dd0
|
memory: add Frame::range_inclusive() and FrameIter implementing Iterator
|
8 years ago |
3moon
|
f897b6b09e
|
memory::paging: add an InactivePageTable struct
|
8 years ago |
3moon
|
c2a1b848cd
|
memory::paging::ActivePageTable: implement with(), switch()
|
8 years ago |
3moon
|
0f847cdb20
|
Implement a TemporaryPage
|
8 years ago |
3moon
|
8fa0c57d48
|
memory::paging: Move most of ActivePageTable to memory::paging::mapper::Mapper
|
8 years ago |
3moon
|
27ead2f20b
|
linker.ld: Make sure all ELF sections are page-aligned
|
8 years ago |
3moon
|
aa8cab945b
|
Temporary test function for paging
|
8 years ago |
3moon
|
6efd05377e
|
memory::paging::ActivePageTable: impl translation, mapping, unmapping
|
8 years ago |
3moon
|
3bb62e4dc4
|
memory::paging::Page: impl useful functions
|
8 years ago |
3moon
|
24032a9edd
|
memory::paging: add a struct to own the P4 table, make Page Clone+Copy
|
8 years ago |
3moon
|
e01d08162c
|
memory::paging: Add note that we use recursive P4 paging
|
8 years ago |
3moon
|
d471b2ca67
|
memory::paging::entry::Entry.set(): nicer misalignment panic message
|
8 years ago |
3moon
|
ec45a5e981
|
memory: private "cloning" of Frames
|
8 years ago |
3moon
|
2813cce2a7
|
memory::paging::Table: next_table, next_table_create
|
8 years ago |
3moon
|
27b6e55b42
|
memory::paging::Table: type-system based table level safety
|
8 years ago |
3moon
|
7d7bf0daaf
|
boot.asm: recursively map p4[511] -> p4
|
8 years ago |
3moon
|
d889ff14b2
|
Makefile: add debug rule making qemu wait for gcc connection
|
8 years ago |
3moon
|
8e2ee50f66
|
Preliminary data structures required for a page table manager
|
8 years ago |
3moon
|
791ddb5f50
|
Test the frame allocator
|
8 years ago |
3moon
|
7de3dcf599
|
Implement a basic physical frame allocator
|
8 years ago |
3moon
|
e94f7413e3
|
lib.rs: Wire Multiboot section parsing up
|
8 years ago |
3moon
|
4c6c6d4307
|
Add bitflags, multiboot2 to Cargo.toml
|
8 years ago |
3moon
|
1d4eb87486
|
linker.ld: merge small sections
|
8 years ago |
3moon
|
1b68cf6258
|
Pull in the `x86` crate in lib.rs
|
8 years ago |
3moon
|
600ffccf1a
|
add a hlt-loop in _Unwind_Resume()
|
8 years ago |
3moon
|
65761dc384
|
Make panic!s nicer
|
8 years ago |
3moon
|
48ca218dd0
|
Implement a `log` backend which writes to the VGA console
|
8 years ago |
3moon
|
ea581fceec
|
Nicer startup message
|
8 years ago |
3moon
|
c250c57fd6
|
vga_console: add Writer.move_cursor(), make write_str move the cursor
|
8 years ago |
3moon
|
d5fcb9d8f9
|
Make vga_console::Color::new() pub
|
8 years ago |
3moon
|
3b21392383
|
documentation!
|
8 years ago |
3moon
|
5c8c19a890
|
Add empty Xargo.toml
|
8 years ago |
3moon
|
2147553379
|
lib.rs: reindent, wire up console printing
|
8 years ago |
3moon
|
8aa1f15b4e
|
Add VGA text-mode console driver
|
8 years ago |