aboutsummaryrefslogtreecommitdiffstats
path: root/roms/qboot/include/assembly.h
diff options
context:
space:
mode:
Diffstat (limited to 'roms/qboot/include/assembly.h')
-rw-r--r--roms/qboot/include/assembly.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/roms/qboot/include/assembly.h b/roms/qboot/include/assembly.h
new file mode 100644
index 000000000..dce958d7a
--- /dev/null
+++ b/roms/qboot/include/assembly.h
@@ -0,0 +1,26 @@
+#ifndef ASSEMBLY_H_
+#define ASSEMBLY_H_
+
+#define __ASSEMBLY__
+
+#define __ALIGN .p2align 4, 0x90
+#define ENTRY(name) \
+ __ALIGN; \
+ .globl name; \
+ name:
+
+#define GLOBAL(name) \
+ .globl name; \
+ name:
+
+#define ENTRY_END(name) GLOBAL(name##_end)
+#define END(name) GLOBAL(name##_end)
+
+/*
+ * gas produces size override prefix with which
+ * we are unhappy, lets make it hardcoded for
+ * 16 bit mode
+ */
+#define IRET .byte 0xcf
+
+#endif /* ASSEMBLY_H_ */