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