You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The HandleException macro assumes that all exceptions have an error code pushed on the stack. The list of exceptions that the CPU pushes an error code/doesn't push can be found here: https://wiki.osdev.org/Exceptions . One option is to split the HandleException macro into two macros. One that handles exceptions with an error code and one that doesn't. When an error code isn't pushed a dummy value of 0 can be used in its place.
Remove the current HandleException macro in interruptstubs.s and replace with:
In interrupts.cpp and interrupts.h you can then add all the exception handlers that are missing. The InterruptManager only supplies default exception handlers for HandleException0x00 to HandleException0x13, and that can now be up to HandleException0x1f
The text was updated successfully, but these errors were encountered:
The
HandleException
macro assumes that all exceptions have an error code pushed on the stack. The list of exceptions that the CPU pushes an error code/doesn't push can be found here: https://wiki.osdev.org/Exceptions . One option is to split theHandleException
macro into two macros. One that handles exceptions with an error code and one that doesn't. When an error code isn't pushed a dummy value of 0 can be used in its place.Remove the current
HandleException
macro in interruptstubs.s and replace with:Then generate stubs for all 32 exceptions like this:
In interrupts.cpp and interrupts.h you can then add all the exception handlers that are missing. The
InterruptManager
only supplies default exception handlers forHandleException0x00
toHandleException0x13
, and that can now be up toHandleException0x1f
The text was updated successfully, but these errors were encountered: