aboutsummaryrefslogtreecommitdiff
path: root/include/os.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-02-27 13:26:15 -0700
committerSimon Glass <sjg@chromium.org>2014-03-17 20:05:48 -0600
commit47f5fcfb4169a8ff6e8c81738b77f8572f972e75 (patch)
tree328570b34cafd3ab21f64b75f9c3f1f625cd8c45 /include/os.h
parentb2a668b523ee78c56b466300350050924ed59553 (diff)
downloadu-boot-47f5fcfb4169a8ff6e8c81738b77f8572f972e75.zip
u-boot-47f5fcfb4169a8ff6e8c81738b77f8572f972e75.tar.gz
u-boot-47f5fcfb4169a8ff6e8c81738b77f8572f972e75.tar.bz2
sandbox: Add os_jump_to_image() to run another executable
For some tests it is useful to be able to run U-Boot again but pass on the same memory contents. Add a function to achieve this. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/os.h')
-rw-r--r--include/os.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/os.h b/include/os.h
index fa4e39f..9b5da5c 100644
--- a/include/os.h
+++ b/include/os.h
@@ -253,4 +253,23 @@ int os_write_ram_buf(const char *fname);
*/
int os_read_ram_buf(const char *fname);
+/**
+ * Jump to a new executable image
+ *
+ * This uses exec() to run a new executable image, after putting it in a
+ * temporary file. The same arguments and environment are passed to this
+ * new image, with the addition of:
+ *
+ * -j <filename> Specifies the filename the image was written to. The
+ * calling image may want to delete this at some point.
+ * -m <filename> Specifies the file containing the sandbox memory
+ * (ram_buf) from this image, so that the new image can
+ * have access to this. It also means that the original
+ * memory filename passed to U-Boot will be left intact.
+ *
+ * @param dest Buffer containing executable image
+ * @param size Size of buffer
+ */
+int os_jump_to_image(const void *dest, int size);
+
#endif