summaryrefslogtreecommitdiff
path: root/cpu/interrupts/execution.txt
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2023-01-05 03:29:26 -0500
committerTest_User <hax@andrewyu.org>2023-01-05 03:29:26 -0500
commit0d290b91117fb0002e247b7a48a38eb40fc48fbd (patch)
tree5e36c882826194853835c1d1fc056bcbe7f01717 /cpu/interrupts/execution.txt
parentb0ca4d17f93970881edf05f3cff206d47b7fa564 (diff)
downloadspecification-0d290b91117fb0002e247b7a48a38eb40fc48fbd.tar.gz
specification-0d290b91117fb0002e247b7a48a38eb40fc48fbd.zip
Add hardware task switching, get rid of software interrupts
Diffstat (limited to 'cpu/interrupts/execution.txt')
-rw-r--r--cpu/interrupts/execution.txt10
1 files changed, 10 insertions, 0 deletions
diff --git a/cpu/interrupts/execution.txt b/cpu/interrupts/execution.txt
new file mode 100644
index 0000000..858334c
--- /dev/null
+++ b/cpu/interrupts/execution.txt
@@ -0,0 +1,10 @@
+When an interrupt occurs:
+ OPRI gets set to the PR from the previous code running
+ OIPI gets set to the IP from the previous code running
+ PR is set to all 1s
+
+The next interrupt will not occur until after the current processing has been finished via `ireti`
+
+When returning via ireth:
+ PR is set to OPRI
+ Execution jumps to OIPI