Commit Graph

418 Commits

Author SHA1 Message Date
Philipp Oppermann
0a7843abd9 Catch divide error instead of page fault
The divide error pushes no error code. Thus we avoid stack misalignment (see #184).

(cherry picked from commit e8b3a1fff1)
2016-06-25 17:22:31 +02:00
Philipp Oppermann
dcab71016c Create dummy _Unwind_Resume function to fix libcore linker errors
(cherry picked from commit 952f7ed5e3)
2016-06-24 13:49:43 +02:00
Philipp Oppermann
3f4f2b8ac2 Revert "Remove unneeded gcc_except_table section" (#180)
(cherry picked from commit 76b83c623e)
2016-06-13 18:38:49 +02:00
Philipp Oppermann
428f97d049 Remove unneeded gcc_except_table section
(cherry picked from commit 1083ac9bac)
2016-06-12 16:37:40 +02:00
Philipp Oppermann
69b22d1fc0 Use the panic=abort option instead of -Z no-landing-pads
(cherry picked from commit 725c452157)
2016-06-12 16:22:02 +02:00
Philipp Oppermann
20f7e5472b Make methods of EntryOptions public
(cherry picked from commit 480265872d)
2016-05-29 17:26:28 +02:00
Philipp Oppermann
534d23c80f Fix .travis.yml for tag build 2016-05-28 15:58:12 +02:00
Philipp Oppermann
8c8f9dbb68 Update README for catching_exceptions tag 2016-05-28 15:54:33 +02:00
Philipp Oppermann
77f3ca3483 Remove blog and script subdirectories 2016-05-28 15:52: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
2d15a7bdb1 Make HandlerFunc public, because it is part of a public interface 2016-05-28 15:47:34 +02:00
Philipp Oppermann
c65b16f42d Create a static IDT with a page fault handler function 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
245125cb4a Minor improvements to post 2016-05-28 15:47:33 +02:00
Philipp Oppermann
e2b45d3971 Fix minor errors in code snippets 2016-05-28 15:46:47 +02:00
Philipp Oppermann
865e74bfad We don't overhaul our build system yet 2016-05-28 14:37:19 +02:00
Philipp Oppermann
745b1f6a0b Improve _Unwind_Resume description and remove claim about the “next post” 2016-05-28 14:36:23 +02:00
Philipp Oppermann
3b71e9e5a0 Add “Catching Exceptions” post to README 2016-05-28 14:15:20 +02:00
Philipp Oppermann
e4b42b106f Reset source code to master again 2016-05-28 14:09:45 +02:00
Philipp Oppermann
08540eb602 Remove unneeded unsafe 2016-05-28 14:09:17 +02:00
Philipp Oppermann
4633f84af6 Finish catching-exceptions post 2016-05-28 14:09:17 +02:00
Philipp Oppermann
5054e48c9a Remove unneeded pubs 2016-05-28 14:09:17 +02:00
Philipp Oppermann
13e94de7b4 Make the load function safe 2016-05-28 14:09:17 +02:00
Philipp Oppermann
8540d3844b Use new x86::segmentation::cs function and merge set_handler and options
We avoid inline assembly and increase safety (it is no longer possible to set the non-present initilization entries to present).
2016-05-28 14:09:17 +02:00
Philipp Oppermann
968ae00de7 Update blog post 2016-05-28 14:09:17 +02:00
Philipp Oppermann
cbe034f3a5 wip 2016-05-28 14:09:17 +02:00
Philipp Oppermann
c961fdc32b wip 2016-05-28 14:09:17 +02:00
Philipp Oppermann
59382699d0 wip 2016-05-28 14:09:17 +02:00
Philipp Oppermann
74f33c0f44 Use own Itd entry type 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
7c565abba8 Fix: hole_list_allocator instead of linked_list_allocator (#161)
Reported by @simonlovgren in #160
2016-05-17 14:35:53 +02:00
Philipp Oppermann
a59f51766a Merge pull request #159 from phil-opp/update_bitflags
Update bitflags to 0.7.0
2016-05-15 12:32:22 +02:00
Philipp Oppermann
e383a9235a Update post to use bitflags 0.7.0 2016-05-15 12:29:29 +02:00
Philipp Oppermann
1703827da2 Update to bitflags 0.7.0 2016-05-15 12:27:43 +02:00
Philipp Oppermann
a39c59801b Use upstream lazy static as it has a spin_no_std feature now (#158) 2016-05-14 16:25:15 +02:00
Philipp Oppermann
7170c658a7 Add missing mut (#156) 2016-05-07 15:01:39 +02:00
William Orr
07d534e4b4 Add missing use statements in printing-to-screen (#154) 2016-05-03 09:14:34 +02:00
William Orr
a9f41d7303 Replace movaps with movups
objdump on my system and code snippet in blog agree - problem is caused
by `movups` not `movaps`. Fix surrounding text and doc link to reflect
this.
2016-05-02 20:18:15 +02:00
Philipp Oppermann
301859a4b9 Merge pull request #153 from phil-opp/patch5
The no-landing-pads snippet already generates SSE instructions
2016-05-02 17:02:31 +02:00
Philipp Oppermann
088e87b23a The no-landing-pads snippet already generates SSE instructions 2016-05-02 16:58:49 +02:00
Philipp Oppermann
0d210e554f Fix: pass the commit hash instead of the variable name 2016-05-02 16:16:24 +02:00
Philipp Oppermann
622c4f0797 Pass commit hash for update commit message 2016-05-02 16:09:15 +02:00
Philipp Oppermann
b633b29b6c Fix rendering of repr(C)
Fixes #151
2016-05-02 15:47:41 +02:00
Philipp Oppermann
f1c68fd6dc Remove installation of pygments
We don't deploy on this branch, so syntax highlighting is not needed.
2016-05-02 15:44:36 +02:00
Philipp Oppermann
d056a41154 Trigger rebuild of hugo branch instead of deploying ourselves 2016-05-02 15:32:10 +02:00
Philipp Oppermann
2cecc5abeb Copy all files (inclusive the hidden .nojekyll) 2016-05-01 15:20:17 +02:00
Philipp Oppermann
e95710c66e Merge pull request #150 from phil-opp/travis_hugo
Build hugo blog using travis
2016-05-01 15:12:58 +02:00
Philipp Oppermann
1e69a0c627 Build hugo blog using travis 2016-05-01 15:07:07 +02:00