Commit Graph

20 Commits

Author SHA1 Message Date
Philipp Oppermann
2df8517816 Translate error code and print cr2 register 2016-08-03 16:39:38 +02:00
Philipp Oppermann
550a99cfd4 Add and test a handler_with_error_code macro and a page fault handler 2016-08-03 16:36:58 +02:00
Philipp Oppermann
86a757cb61 Add and test an invalid opcode handler function 2016-08-03 16:26:22 +02:00
Philipp Oppermann
bf72618647 Add a handler macro that creates wrapper functions 2016-08-03 16:24:43 +02:00
Philipp Oppermann
308b033ea9 Add a wrapper function and print the exception stack frame 2016-08-03 16:22:59 +02:00
Philipp Oppermann
ee48ec5e29 Reset src to master to be able to follow step-by-step 2016-08-03 16:00:04 +02:00
Philipp Oppermann
df99382cda Print cr2 in page_fault_handler 2016-08-03 16:00:04 +02:00
Philipp Oppermann
4eda7993a2 Add handler! macros 2016-08-03 16:00:03 +02:00
Philipp Oppermann
9113a63f5e Test the two-stage exception handler in code 2016-08-03 14:44:52 +02:00
Philipp Oppermann
06fb4d6596 WIP code for upcoming post 2016-08-03 14:44:52 +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
f58a6fe185 Add a print_error function, which works for exceptions inside println 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
e4b42b106f Reset source code to master again 2016-05-28 14:09:45 +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
59382699d0 wip 2016-05-28 14:09:17 +02:00
Philipp Oppermann
431bb39fdb Begin work for exceptions post 2016-05-28 14:09:17 +02:00