Philipp Oppermann
d13460812d
Run rustfmt
2016-08-03 17:00:18 +02:00
Philipp Oppermann
a9319ea83e
Translate error code and print cr2 register
2016-08-03 17:00:18 +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
71ebb23ec3
Add a handler macro that creates wrapper functions
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
d97a8a3210
Silence dead code warnings
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
261f92e2e5
Print cr2 in page_fault_handler
2016-08-03 17:00:18 +02:00
Philipp Oppermann
1ba595aab3
Rename to better-exception-messages
2016-08-03 17:00:18 +02:00
Philipp Oppermann
710cebe695
Finish exceptions diagnostics post
2016-08-03 17:00:18 +02:00
Philipp Oppermann
e9d2d594ab
Add handler! macros
2016-08-03 17:00:18 +02:00
Philipp Oppermann
f14876dfff
Next section: Debug the failure on real hardware
2016-08-03 17:00:18 +02:00
Philipp Oppermann
b1de7a9100
Add a ToC
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
e8220b3781
Describe the two-stage exception handler
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
95c0452bcb
Begin new post
2016-08-03 14:44:52 +02:00
Philipp Oppermann
68e2495d9c
Rename modifying-page-tables.md to page-tables.md
2016-08-03 14:43:01 +02:00
Philipp Oppermann
9469dc5891
Remove coarse class from ToCs
...
We will add it dynamically via javascript when the Toc is higher than the viewport.
2016-07-28 19:42:37 +02:00
Anton Strömkvist
6b2f1281ae
Fix hex constant ( #193 )
...
I assume these were in the wrong order since all the others looked this way :)
2016-07-28 18:01:42 +02:00
Philipp Oppermann
826e303ed0
Merge pull request #192 from phil-opp/post-toc
...
Add tables of contents to all blog posts
2016-07-17 17:14:50 +02:00
Philipp Oppermann
d4e82b0aa4
Improve heading levels
2016-07-17 17:10:42 +02:00
Philipp Oppermann
bc6f496eb5
Add tables of contents to all blog posts
2016-07-17 17:10:23 +02:00
Philipp Oppermann
62dd13b2e7
Merge pull request #190 from phil-opp/p1
...
Add aligned .got and .got.plt sections to linker script
2016-07-16 17:22:25 +02:00
Philipp Oppermann
68c1e42356
Update linker script in post (add .got and .got.plt)
2016-07-14 18:11:58 +02:00
Philipp Oppermann
2445b47661
Add aligned .got and .got.plt sections to linker script
2016-07-14 18:07:26 +02:00
Philipp Oppermann
d64e4ba2fc
Update x86 crate to 0.7.1 ( #189 )
2016-07-14 11:21:04 +02:00
Aaron Hill
48e7faa521
Add ENTRY(start) to 'Allocating Frames' blog post linker script ( #188 )
2016-06-29 09:19:08 +02:00
Philipp Oppermann
f8c5bc5dec
Merge pull request #187 from phil-opp/divide_by_zero
...
Catch divide error instead of page fault
2016-06-25 17:13:29 +02:00
Philipp Oppermann
ca438d9740
Revise plans for the upcoming post
2016-06-25 17:12:04 +02:00
Philipp Oppermann
702e49eaf7
Catch divide-by-zero errors and introduce inline assembly
...
This commit updates the “Catching Exceptions” post to catch divide-by-zero errors instead of page faults. The reason is a subtle stack alignment bug, which is somehow caused by the additional error code on a page fault. This commit also adds a short introduction to inline assembly.
2016-06-25 17:12:04 +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
c9d8afe434
Run rustfmt
2016-06-25 17:08:26 +02:00
Philipp Oppermann
2f9e6cc0d0
Minor improvements to catching exceptions post
2016-06-25 17:06:57 +02:00
Philipp Oppermann
84ba085a0a
The section will be only about exceptions ( #186 )
2016-06-24 13:59:17 +02:00
Philipp Oppermann
b7a47ee001
Add gitter badge ( #183 )
2016-06-24 13:54:35 +02:00
Philipp Oppermann
e4cc5b84f1
Merge pull request #185 from phil-opp/unwind_resume
...
Create dummy _Unwind_Resume function to fix libcore linker errors
2016-06-24 13:44:54 +02:00
Philipp Oppermann
f00360d553
Add and explain dummy _Unwind_Resume function in “Set Up Rust” post
2016-06-24 13:37:03 +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
76b83c623e
Revert "Remove unneeded gcc_except_table section" ( #180 )
2016-06-13 18:36:01 +02:00
Philipp Oppermann
20d9037740
Merge pull request #178 from phil-opp/patch5
...
Remove unneeded gcc_except_table section
2016-06-12 16:36:00 +02:00
Philipp Oppermann
1fb6369f61
Remove unneeded gcc_except_table section from blog post
2016-06-12 16:33:55 +02:00
Philipp Oppermann
1083ac9bac
Remove unneeded gcc_except_table section
2016-06-12 16:32:34 +02:00
Ryan Campbell
793eeebfb3
Add missing open brace ( #177 )
2016-06-10 20:36:33 +02:00
Steve Klabnik
1183f5d1e1
Update section header to reflect changes in the text ( #176 )
2016-06-07 21:48:54 +02:00
Philipp Oppermann
bddf35f365
Add missing link to bit_field crate ( #174 )
2016-06-01 01:21:16 +02:00
Jordan Danford
bf0e70746d
Change 'boot load' to 'boot loop' in 'Remap the Kernel' section ( #173 )
2016-05-31 09:11:14 +02:00
Homu
c22e1e8bb1
Auto merge of #172 - phil-opp:phil-opp-patch-1, r=phil-opp
...
Recommend rustup instead of multirust
2016-05-30 23:58:02 +09:00