Commit Graph

276 Commits

Author SHA1 Message Date
acheronfail
7ad0ed9254 update source to match draft 2018-10-20 18:55:04 +02:00
Philipp Oppermann
f2d2c476f3 The bootloader_precompiled crate should be in lib.rs 2018-07-20 10:50:11 +02:00
Philipp Oppermann
6eabcf1704 Add bootloader_precompiled as a dependency 2018-07-20 10:30:11 +02:00
Philipp Oppermann
0f07341dea Update to x86_64 0.2.8: The Idt type was renamed to InterruptDescriptorTable 2018-07-14 14:32:33 +02:00
Philipp Oppermann
3365a4f9ff Remove unneeded const_fn feature 2018-07-01 18:26:48 +02:00
Philipp Oppermann
22bf95ac19 Run rustfmt 2018-06-18 23:48:17 +02:00
Philipp Oppermann
0b6174ace6 Use same import structure as in post 2018-06-18 23:48:17 +02:00
Philipp Oppermann
99c0fa5ebf Redesign code 2018-06-18 21:30:47 +02:00
Philipp Oppermann
5499471279 Begin porting the double faults post 2018-06-18 21:30:47 +02:00
Philipp Oppermann
97a87728f7 Port cpu exceptions post to second edition 2018-06-17 20:16:41 +02:00
Philipp Oppermann
e585d72216 Fix typo: _start_ -> _start 2018-06-15 09:47:01 +02:00
Philipp Oppermann
2ed8d94c67 Allow unused imports for cargo test 2018-06-15 09:47:01 +02:00
Philipp Oppermann
6529cbc674 Run rustfmt 2018-06-12 19:26:17 +02:00
Philipp Oppermann
8b5be6ebc0 Implement code for integration test post 2018-06-12 19:25:53 +02:00
Philipp Oppermann
3e3778d982 Import PanicInfo only in non(test) environment 2018-06-05 11:11:25 +02:00
Philipp Oppermann
c33811ae3d Update unit testing post for new panic handler 2018-06-05 11:06:17 +02:00
Philipp Oppermann
d9d836fe2c Print panic message to vga buffer 2018-06-04 13:48:39 +02:00
Philipp Oppermann
3f61050387 Define panic handler using new panic_implementation attribute (#435) 2018-06-04 13:19:44 +02:00
Philipp Oppermann
ba266f31c5 ColorCode::new does not need to be a const fn 2018-05-01 17:28:16 +02:00
Philipp Oppermann
44ffa1d046 Create new post about unit testing 2018-04-25 20:39:16 +02:00
Philipp Oppermann
dcf8b7767c A dependency on compiler_builtins is now automatically injected (#426) 2018-04-08 11:51:16 +02:00
Philipp Oppermann
6d0f103c16 Handle non-printable characters in vga buffer module (#425) 2018-04-07 19:45:28 +02:00
Philipp Oppermann
21fb890328 Run rustfmt 2018-04-02 17:34:37 +02:00
Philipp Oppermann
5d0503e250 Use explicit extern "C" 2018-04-02 17:31:04 +02:00
Philipp Oppermann
549dfd362b Mark _start as extern; fix wrong entry point name 2018-04-02 17:24:00 +02:00
SomeAnotherDude
e1338bb53e Add an empty branch to println!() macro to be consistent with std (#423) 2018-03-31 10:44:59 +02:00
Philipp Oppermann
78bd186003 Separate Writer::write_string and fmt::Write::write_str methods 2018-03-13 21:16:22 +01:00
Philipp Oppermann
557b869aa4 Update the VGA buffer post for the second edition 2018-03-04 23:19:07 +01:00
Philipp Oppermann
2f30a0df56 Delete old heap allocator 2018-03-04 23:18:01 +01:00
Philipp Oppermann
7be59b571d Use static and for loop for printing Hello World 2018-02-10 16:47:21 +01:00
Philipp Oppermann
bff0c4401c Print “Hello” instead of “OK” 2018-02-10 16:43:17 +01:00
Philipp Oppermann
9fc0a07453 Fix offset typo 2018-02-10 16:43:17 +01:00
Philipp Oppermann
5823bcb7ab Initial code for second edition 2018-02-10 16:42:51 +01:00
Philipp Oppermann
2629945c72 Delete code from first edition 2018-02-10 16:42:51 +01:00
Rob Gries
f7868a1bd8 Use proper size for heap init (#376) 2017-12-15 10:06:57 +01:00
Rob Gries
5e937e6e20 Panic on alloc::oom instead of calling intrinsics::abort (#375) 2017-12-15 09:20:50 +01:00
Isaac Woods
cf2c5550aa Fix sign extension bug in next_table_address (#372)
Fixes #362

Fix an issue where the left shift of the old table address would overwrite the sign extension, making the address non-canonical and leading to #GPs. This calculates the correct sign extension for the new table address.
2017-12-05 20:22:29 +01:00
Philipp Oppermann
e89e4f5277 Rewrite bump allocator and integrate it in main crate 2017-11-19 15:29:36 +01:00
Will
3e7aea0d51 Fix eh_personality linker errors (#364) 2017-11-14 15:21:14 +01:00
johanmon
30fcae9dce A rewrite of the bump allocator to conform to the new API (#361) 2017-10-24 08:31:08 +02:00
Philipp Oppermann
b58ee1e52b Add new const_unique_new feature gate (#355) 2017-10-03 13:29:22 +02:00
Will
0175e83387 Update to use the new API for custom allocators (#348)
* Update to new allocator API

* Change linked_list_allocator dependency to link directly to git repository

* Add Cargo.lock to gitignore
2017-08-20 19:36:30 +07:00
Tim Crawford
2ebd4ed954 Use new Unique API (#346)
Change Unique to use `new_unchecked`. Fixes #345.
2017-08-05 12:47:15 +08:00
Tim Crawford
e54cfa4378 Update bitflags to 0.9.1 (#347)
Signed-off-by: Tim Crawford <crawfxrd@gmail.com>
2017-08-05 12:33:56 +08:00
Philipp Oppermann
559a90ad8b Format using rustfmt-nightly 2017-06-20 18:09:09 +02:00
Philipp Oppermann
ff8e8e0f8b The collections crate was merged into the alloc crate (#333) 2017-06-20 17:41:28 +02:00
Philipp Oppermann
f3829346bc Unique::get/get_mut were renamed to as_ref/as_mut (#325) 2017-05-12 21:32:38 +02:00
Gil Mendes
0cb9be7c08 Merge pull request #296 from gil0mendes/expand-stack
Expand stack to 16k
2017-03-24 13:06:42 +01:00
Philipp Oppermann
02eaeb7af1 Switch to x86_64 crate and use its idt module 2017-03-15 16:58:15 +01:00
Philipp Oppermann
68dc7447f4 Run rustfmt 2017-03-09 17:50:44 +01:00