aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/generate_vectors.py
diff options
context:
space:
mode:
authorGravatar ornitorrincos 2026-08-18 12:15:05 +0200
committerGravatar ornitorrincos 2026-08-18 12:15:05 +0200
commit132d3236bb884433bf94e961f6d32264e0334aec (patch)
tree06638976b06f019ea4037175ff228f8271057c44 /kernel/generate_vectors.py
Diffstat (limited to '')
-rw-r--r--kernel/generate_vectors.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/generate_vectors.py b/kernel/generate_vectors.py
new file mode 100644
index 0000000..8471ef8
--- /dev/null
+++ b/kernel/generate_vectors.py
@@ -0,0 +1,19 @@
+if __name__ == "__main__":
+ with open("interrupts/vectors.s", "w") as f:
+ for i in range(256):
+ f.write("global vector" + '{}'.format(i) + "\n")
+ f.write("extern s_trap_start\n")
+ f.write("extern s_trap_end\n")
+ f.write("\n")
+ f.write("section .text\n")
+ f.write("align 4\n")
+ f.write("\n")
+ for i in range(256):
+ upper = '{0:02X}'.format((i >> 16) & 0xFF)
+ lower = '{0:02X}'.format(i & 0xFF)
+ f.write("vector" + '{}'.format(i) + ":\n")
+ f.write(" push 0x" + upper + "\n")
+ f.write(" push 0x" + lower + "\n")
+ f.write(" jmp s_trap_start\n")
+ f.write("\n")
+ f.write("\n")