flash/nor/fespi: algorithm, large address, errors
[fw/openocd] / contrib / loaders / flash / fespi / riscv_wrapper.S
diff --git a/contrib/loaders/flash/fespi/riscv_wrapper.S b/contrib/loaders/flash/fespi/riscv_wrapper.S
new file mode 100644 (file)
index 0000000..4f632a7
--- /dev/null
@@ -0,0 +1,22 @@
+#if __riscv_xlen == 64
+# define LREG ld
+# define SREG sd
+# define REGBYTES 8
+#else
+# define LREG lw
+# define SREG sw
+# define REGBYTES 4
+#endif
+
+               .section .text.entry
+               .global _start
+_start:
+               lla             sp, stack_end
+               jal     flash_fespi
+               ebreak
+
+               .section .data
+               .balign REGBYTES
+stack:
+               .fill   16, REGBYTES, 0x8675309
+stack_end: