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 |
|
Philipp Oppermann
|
b84c5822df
|
Create interrupt module with IDT submodule
|
2016-05-28 15:47:34 +02:00 |
|
Philipp Oppermann
|
e4b42b106f
|
Reset source code to master again
|
2016-05-28 14:09:45 +02:00 |
|
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 |
|