Philipp Oppermann
|
0b9c3734b2
|
Update x86 crate to version 0.8.0 (#266)
(cherry picked from commit 02697891e2)
|
2016-12-21 15:10:29 +01:00 |
|
Philipp Oppermann
|
36abafab8c
|
Fix panic_fmt arguments: file is a &'static str
(cherry picked from commit e9735738f7)
|
2016-11-26 12:29:35 +01:00 |
|
Philipp Oppermann
|
11516adc53
|
Use volatile operations for accessing the VGA buffer
(cherry picked from commit d7a445b1bb)
|
2016-10-08 15:55:30 +02:00 |
|
Philipp Oppermann
|
a5c96a048e
|
Add missing license headers and update copyright year (#232)
(cherry picked from commit a04924955a)
|
2016-10-02 18:31:22 +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 |
|
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 |
|