summaryrefslogtreecommitdiff
path: root/cpu/interrupts/exceptions/execution.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/interrupts/exceptions/execution.txt')
-rw-r--r--cpu/interrupts/exceptions/execution.txt30
1 files changed, 0 insertions, 30 deletions
diff --git a/cpu/interrupts/exceptions/execution.txt b/cpu/interrupts/exceptions/execution.txt
deleted file mode 100644
index dbf8825..0000000
--- a/cpu/interrupts/exceptions/execution.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-For non-double exceptions:
- OPRE gets set to the PR from the previous code running
- OIPE gets set to the IP from the previous code running
- PR is set to all 1s
-
- Hardware interrupts will not occur until after the current processing has been finished via `irete`
- Any exceptions that occur before `irete` will trigger a double exception instead of the normal one
-
- When returning via irete:
- PR is set to OPRE
- Execution jumps to OIPE
-
-For a double exception:
- OPRDE is set to the PR from the previous code running
- OIPDE is set to the IP from the previous code running
- PR is set to all 1s
-
- Segmentation is ignored for the double exception handler, flat addressing is used with no protection
-
- If any exceptions occur during execution of the double exception handler:
- If this is not the only core active on the system:
- Broadcasts a triple fault message
- Shuts down
-
- If this is the only core active on the system:
- Restarts the system
-
- When returning via iretde:
- PR is set to OPRDE
- Execution jumps to OIPDE