aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/include/cbfs.h
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2014-05-13 22:33:12 +0800
committerMarc Jones <marc.jones@se-eng.com>2014-12-30 19:41:40 +0100
commit6f98fc30fdef746a5637e6d0c55ee36c27b0b892 (patch)
tree50c1ee9a0c795ad3a2ae96f277db4233f8c1560e /payloads/libpayload/include/cbfs.h
parent1a3675ec02e1fc8607d8c293121f280ab1e1a67c (diff)
libpayload: Provide selfboot function.
The calling convention of payload entry function is different by architecture. For example, X86 takes no arguments and ARM needs first param to be a cb_header_ptr*. To help payloads load and execute other payloads easily and correctly, we should provide the selfboot() function in libpayload, using same prototype as defined in coreboot environment. BUG=none TEST=emerge-nyan libpayload # pass BRANCH=none Original-Change-Id: I8f1cb2c0df788794b2f6f7f5500a3910328a4f84 Original-Signed-off-by: Hung-Te Lin <hungte@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/199503 Original-Reviewed-by: Stefan Reinauer <reinauer@chromium.org> (cherry picked from commit 1e916cf021ce68886eb9668982c392eadedc7b7e) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: I7279ef27f49ef581d25a455dd8f1f2f7f1ba58cb Reviewed-on: http://review.coreboot.org/7907 Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins)
Diffstat (limited to 'payloads/libpayload/include/cbfs.h')
-rw-r--r--payloads/libpayload/include/cbfs.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/payloads/libpayload/include/cbfs.h b/payloads/libpayload/include/cbfs.h
index df3bb1c8c8..c5c811cd3d 100644
--- a/payloads/libpayload/include/cbfs.h
+++ b/payloads/libpayload/include/cbfs.h
@@ -82,8 +82,7 @@ void *cbfs_simple_buffer_unmap(struct cbfs_simple_buffer *buffer,
int run_address(void *f);
/* Defined in src/lib/selfboot.c */
-struct lb_memory;
-int selfboot(struct lb_memory *mem, struct cbfs_payload *payload);
+void selfboot(void *entry);
/* Defined in individual arch / board implementation. */
int init_default_cbfs_media(struct cbfs_media *media);