diff options
Diffstat (limited to 'cpu/interrupts/exceptions/execution.txt')
-rw-r--r-- | cpu/interrupts/exceptions/execution.txt | 30 |
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 |