Commit Graph

50 Commits

Author SHA1 Message Date
Philipp Oppermann
59382699d0 wip 2016-05-28 14:09:17 +02:00
Philipp Oppermann
78655d6bef Add bit_field dependency 2016-05-28 14:09:17 +02:00
Philipp Oppermann
431bb39fdb Begin work for exceptions post 2016-05-28 14:09:17 +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
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
9e46fb21c7 Try to allocate something (causes a page fault) 2016-04-12 00:47:05 +02:00
Philipp Oppermann
f25cb599c2 Link bump_allocator and alloc and collections crates 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
cfe03f612d Remove printing of memory areas and elf sections 2016-01-01 18:05:16 +01:00
Philipp Oppermann
ac6c1af84f Remove test_paging function 2016-01-01 18:05:16 +01:00
Philipp Oppermann
e2b99ac8c1 Set the NXE and the WP bit 2016-01-01 18:05:16 +01:00
Philipp Oppermann
33322ec49b Test it 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
a9e5b7fd28 Update license headers 2015-12-29 12:31:25 +01:00
Philipp Oppermann
14166b3a35 Remove old features 2015-12-20 15:40:43 +01:00
Philipp Oppermann
165e6ebff8 Run rustfmt 2015-12-20 15:05:08 +01:00
Philipp Oppermann
22014eb38d The no_std attribute is stable now 2015-12-14 00:03:55 +01:00
Philipp Oppermann
75264e7cac Fix unmap function by flushing the TLB 2015-12-09 15:46:15 +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
dabef43db9 Reset src to master to be able to follow step-by-stp 2015-12-09 15:46:14 +01:00
Philipp Oppermann
92194d8354 Remove unused feature and import 2015-12-09 15:42:44 +01:00
Philipp Oppermann
44fd5f682d Some new test printlns 2015-12-09 15:38:46 +01:00
Philipp Oppermann
562221d725 Add some unstable features and some printing tests 2015-12-09 15:38:46 +01:00
Philipp Oppermann
6462a3263c Add basic module and corresponding documentation 2015-12-09 15:38:33 +01:00
Philipp Oppermann
f917bd67a1 Begin paging module 2015-12-08 22:20:19 +01:00
Philipp Oppermann
8304439c82 Add a FrameAllocator trait 2015-11-15 12:00:03 +01:00
Philipp Oppermann
75988f1324 Test: allocate all frames 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
Philipp Oppermann
ccaa2ed645 Add section about start and end of kernel/multiboot 2015-11-15 12:00:03 +01:00
Philipp Oppermann
718db100cd Add let bindings for tags 2015-11-15 12:00:03 +01:00
Philipp Oppermann
f2b91d3d61 Improve panic handler 2015-11-15 12:00:03 +01:00
Philipp Oppermann
895d40cd13 Add section about kernel elf sections 2015-11-15 12:00:03 +01:00
Philipp Oppermann
33fdbce530 Print available memory areas using multiboot info 2015-11-15 12:00:03 +01:00
Philipp Oppermann
73aa41e25e Pass multiboot pointer as argument to rust_main 2015-11-15 12:00:03 +01:00
Philipp Oppermann
c36a3d19d2 Add and use a clear_screen function 2015-10-27 20:47:58 +01:00
Philipp Oppermann
5b1f2361f2 Use println! to print the `Hello World! 2015-10-23 01:45:10 +02:00
Philipp Oppermann
c547b128e5 Implement fmt::Write trait for Writer 2015-10-23 01:45:10 +02:00
Philipp Oppermann
4668acb09e Add a public static writer
Since `unsafe const` aren't allowed yet, we temorary add a custom version of Unique to make `Unique::new` const (instead of unsafe).
2015-10-23 01:45:10 +02:00
Philipp Oppermann
ab464b107d Add a basic writer type to print single bytes
It prints always to the last line and shifts lines up on newline or line wrap. To easily shift lines up, we make the ColorCode and ScreenChar types Copy.
2015-10-23 01:45:10 +02:00
Philipp Oppermann
49fd8926a5 Add a VGA buffer module skeleton
It contains basic types for colors, screen characters, and the buffer itself.
2015-10-23 01:45:10 +02:00
Philipp Oppermann
5bcd6d2c2d Improve Hello World! code
Avoid special core features and complicated iterator chaining to make the code simpler overall.
2015-10-03 17:38:41 +02:00
Philipp Oppermann
9c4d057e3d Don't implement lang items on testing
The `std` library is imported on testing. It already implements all lang items.
2015-09-15 14:51:38 +02:00
Philipp Oppermann
5db8977495 Rename main to rust_main to support testing
On testing, `std` is imported, which defines an own `main` function. Thus `cargo test` fails if there alread exists one non-mangled main.
2015-09-15 14:51:07 +02:00
Philipp Oppermann
3030b1c862 Print Hello World! 2015-08-25 14:54:06 +02:00
Philipp Oppermann
4c793e6dd9 Add rlibc dependency for memset, memcpy, etc. 2015-08-25 14:54:06 +02:00
Philipp Oppermann
66cc22608c Add a rust project 2015-08-25 14:54:06 +02:00