[OpenBIOS] [PATCHv2 10/25] libopenbios: add context wrappers for Fcode/Forth payloads

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Thu Sep 8 09:00:49 CEST 2016


This enables them to be launched from a native context.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
---
 include/libopenbios/initprogram.h |    3 +++
 libopenbios/initprogram.c         |   19 +++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/include/libopenbios/initprogram.h b/include/libopenbios/initprogram.h
index 01fc0c1..406b84a 100644
--- a/include/libopenbios/initprogram.h
+++ b/include/libopenbios/initprogram.h
@@ -20,4 +20,7 @@
 extern int	arch_init_program(void);
 extern void	init_program(void);
 
+void init_fcode_context(void);
+void init_forth_context(void);
+
 #endif   /* _H_INITPROGRAM */
diff --git a/libopenbios/initprogram.c b/libopenbios/initprogram.c
index 1fa33ba..9cf3780 100644
--- a/libopenbios/initprogram.c
+++ b/libopenbios/initprogram.c
@@ -83,3 +83,22 @@ void init_program(void)
 #endif
 
 }
+
+void init_fcode_context(void)
+{
+	/* Execute FCode payload */
+	printk("Evaluating FCode...\n");
+	fword("load-base");
+	PUSH(1);
+	fword("byte-load");
+}
+
+
+void init_forth_context(void)
+{
+	/* Execute Forth payload */
+	printk("Evaluating Forth...\n");
+	fword("load-base");
+	feval("load-state >ls.file-size @");
+	fword("eval2");
+}
-- 
1.7.10.4




More information about the OpenBIOS mailing list