summaryrefslogtreecommitdiff
path: root/x86-bare-metal/multiboot/scripts/check_sse.awk
diff options
context:
space:
mode:
Diffstat (limited to 'x86-bare-metal/multiboot/scripts/check_sse.awk')
-rw-r--r--x86-bare-metal/multiboot/scripts/check_sse.awk12
1 files changed, 12 insertions, 0 deletions
diff --git a/x86-bare-metal/multiboot/scripts/check_sse.awk b/x86-bare-metal/multiboot/scripts/check_sse.awk
new file mode 100644
index 0000000..91fb389
--- /dev/null
+++ b/x86-bare-metal/multiboot/scripts/check_sse.awk
@@ -0,0 +1,12 @@
+# Utility to check the disassembly for sse instructions. This uses a
+# simple heuristic by checking if there are any usaged of xmm, ymm or
+# zmm register.
+#
+# We want to build our kernel w/o sse instruction, as those first need
+# to be enabled in the cpus control register as well the sse state
+# needs to be initialized.
+
+/[xyz]mm[0-9]/ {
+ print "FAIL: no sse insns allowed in binary, found: "$0
+ exit 1
+}