Philipp Oppermann
351ae60205
Use volatile operations for accessing the VGA buffer
...
(cherry picked from commit d7a445b1bb )
2016-10-08 15:55:25 +02:00
Philipp Oppermann
b050b475f7
Add missing license headers and update copyright year ( #232 )
...
(cherry picked from commit a04924955a )
2016-10-02 18:31:18 +02:00
Philipp Oppermann
29fd8983c5
Add missing license headers ( #233 )
...
(cherry picked from commit 0f4d1ce303 )
2016-10-02 18:29:49 +02:00
Philipp Oppermann
40bc3e9059
Use crates.io version of multiboot2
...
(cherry picked from commit c6b1346956 )
2016-09-27 13:55:52 +02:00
Calvin Lee
30a75ec760
Fixes #220 : BumpAllocator overflow
...
I also fixed a spelling error and replaced a tab with a space
in the blog post where `allocate()` was created.
(cherry picked from commit 54e02fd6b5 )
(cherry picked from commit 3a2f0b33297164ebbfab92ee76881b6c06c4914d)
2016-09-27 13:40:58 +02:00
Philipp Oppermann
19f0b5443a
Update bit_field to 0.5.0 and use new API
...
(cherry picked from commit 6eba03dd58 )
2016-09-27 13:38:13 +02:00
Philipp Oppermann
689bd2e3e2
Create a cargo workspace for subcrates
...
(cherry picked from commit 488a3c16f0 )
2016-08-05 11:28:05 +02:00
Philipp Oppermann
f5af9e25e4
Add aligned .got and .got.plt sections to linker script
...
(cherry picked from commit 2445b47661 )
2016-07-16 17:23:50 +02:00
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