Philipp Oppermann
|
6322bcce2a
|
Use pc-keyboard crate for translating scancodes
|
2018-11-17 16:31:51 +01:00 |
|
Philipp Oppermann
|
e7d4012653
|
Import lazy_static through normal use
|
2018-11-13 11:36:40 +01:00 |
|
Philipp Oppermann
|
a56112e789
|
The bootloader is now buildable on all platforms (#497)
It is now also linked with LLD, so it can be compiled out of the box on Linux, Windows, and macOS.
|
2018-11-09 08:56:19 +01:00 |
|
acheronfail
|
68ffc3cd59
|
refactor interrupts (#476)
|
2018-10-20 18:57:17 +02:00 |
|
acheronfail
|
5243ef874d
|
add gifs for keyboard and fix source to compile
|
2018-10-20 18:55:04 +02:00 |
|
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
|
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
|
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
|
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
|
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 |
|
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 |
|
Philipp Oppermann
|
ff8e8e0f8b
|
The collections crate was merged into the alloc crate (#333)
|
2017-06-20 17:41:28 +02:00 |
|
Philipp Oppermann
|
02eaeb7af1
|
Switch to x86_64 crate and use its idt module
|
2017-03-15 16:58:15 +01:00 |
|
Philipp Oppermann
|
1be2f42791
|
Make panic_fmt public to fix private_no_mangle_fns warning
|
2017-01-04 16:13:27 +01:00 |
|
Philipp Oppermann
|
e08bd375ae
|
Allocate a new double fault stack in interrupts::init
|
2017-01-02 19:11:56 +01:00 |
|
Philipp Oppermann
|
47755d541d
|
Trigger a stack overflow (still causes a triple fault)
|
2017-01-02 19:11:56 +01:00 |
|
Philipp Oppermann
|
dfa1cc48c9
|
Add a double fault handler (and trigger it)
|
2017-01-02 19:11:56 +01:00 |
|
Philipp Oppermann
|
7db15cf892
|
Reset source code to master again
(in order to follow the post and test the exact code from it)
|
2017-01-02 19:11:56 +01:00 |
|
Philipp Oppermann
|
ceb44d9c2e
|
Use x86's TaskStateSegment and use usize for stack pointers
|
2016-12-30 14:52:04 +01:00 |
|
Philipp Oppermann
|
ef786e1fe8
|
Update post and code
|
2016-12-30 14:52:04 +01:00 |
|
Philipp Oppermann
|
5f8de6e871
|
Create TSS and GDT modules and use a double fault stack
|
2016-12-30 14:52:04 +01:00 |
|
Philipp Oppermann
|
0cd2577abe
|
Some code for double faults post
|
2016-12-30 14:50:53 +01:00 |
|
Philipp Oppermann
|
02697891e2
|
Update x86 crate to version 0.8.0 (#266)
|
2016-12-21 14:59:57 +01:00 |
|
Philipp Oppermann
|
c5dd983949
|
Mark panic_fmt as no_mangle to work around rust-lang/rust#38281 (#262)
|
2016-12-19 11:32:20 +01:00 |
|
Philipp Oppermann
|
e9735738f7
|
Fix panic_fmt arguments: file is a &'static str
|
2016-11-26 12:15:34 +01:00 |
|
Philipp Oppermann
|
d7a445b1bb
|
Use volatile operations for accessing the VGA buffer
|
2016-10-06 23:57:26 +02:00 |
|
Philipp Oppermann
|
a04924955a
|
Add missing license headers and update copyright year (#232)
|
2016-10-02 18:20:48 +02:00 |
|
Philipp Oppermann
|
00701ca474
|
Add code for “Returning from Exceptions”
|
2016-09-21 14:34:32 +02:00 |
|
Philipp Oppermann
|
3bd5e56e3f
|
Use upstream lazy_static and update once crate
|
2016-08-04 20:09:25 +02:00 |
|
Philipp Oppermann
|
69f1b58bb0
|
Add and test a handler_with_error_code macro and a page fault handler
|
2016-08-03 17:00:18 +02:00 |
|
Philipp Oppermann
|
df1e39edb2
|
Add and test an invalid opcode handler function
|
2016-08-03 17:00:18 +02:00 |
|
Philipp Oppermann
|
e7ee1faaba
|
Add a wrapper function and print the exception stack frame
|
2016-08-03 17:00:18 +02:00 |
|
Philipp Oppermann
|
297f8442b9
|
Reset src to master to be able to follow step-by-step
|
2016-08-03 17:00:18 +02:00 |
|
Philipp Oppermann
|
398ba7a424
|
Provoke a page fault
|
2016-08-03 17:00:18 +02:00 |
|
Philipp Oppermann
|
40b565947b
|
Test the two-stage exception handler in code
|
2016-08-03 17:00:18 +02:00 |
|
Philipp Oppermann
|
2e0f4f9161
|
Begin code for upcoming post
|
2016-08-03 17:00:11 +02:00 |
|
Philipp Oppermann
|
e8b3a1fff1
|
Catch divide error instead of page fault
The divide error pushes no error code. Thus we avoid stack misalignment (see #184).
|
2016-06-25 17:12:04 +02:00 |
|
Philipp Oppermann
|
952f7ed5e3
|
Create dummy _Unwind_Resume function to fix libcore linker errors
|
2016-06-24 13:37:02 +02:00 |
|
Philipp Oppermann
|
f4eb589f19
|
We don't need _Unwind_Resume anymore
|
2016-05-29 18:00:58 +02:00 |
|
Philipp Oppermann
|
f58a6fe185
|
Add a print_error function, which works for exceptions inside println
|
2016-05-28 15:47:34 +02:00 |
|
Philipp Oppermann
|
c1df1d3354
|
Initialize the IDT and provoke a page fault
|
2016-05-28 15:47:34 +02:00 |
|