summaryrefslogtreecommitdiffstats
path: root/src/include/program_loading.h
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2015-03-20 09:42:05 -0500
committerAaron Durbin <adurbin@google.com>2015-03-31 19:42:08 +0200
commit6e76fff96961264e8c7213142966de6589092291 (patch)
tree34dd8402cbd71114974f2128f5fdc7671bc371c6 /src/include/program_loading.h
parentebf2ed46211e0ccd82d11c34226eb578f9532a2a (diff)
downloadcoreboot-6e76fff96961264e8c7213142966de6589092291.tar.gz
coreboot-6e76fff96961264e8c7213142966de6589092291.tar.bz2
coreboot-6e76fff96961264e8c7213142966de6589092291.zip
program loading: provide one cache maintenance callback
Instead of having 2 different functions to call when a program is loaded provide a single callback with flags parameter. The previous callbacks for cache management routines did this: for_each_program_segment: arch_program_segment_loaded(start, size); arch_program_loaded(); Now, use one callback instead: for_each_program_segment: arch_segment_loaded(start, size, SEG_FINAL?); Change-Id: I3811cba92e3355d172f605e4444f053321b07a2a Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/8838 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/include/program_loading.h')
-rw-r--r--src/include/program_loading.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/include/program_loading.h b/src/include/program_loading.h
index ca61c169d7b6..85ccd3cd4659 100644
--- a/src/include/program_loading.h
+++ b/src/include/program_loading.h
@@ -23,11 +23,15 @@
#include <stdint.h>
#include <stddef.h>
-/* For each segment of a program loaded this function is called*/
-void arch_program_segment_loaded(uintptr_t start, size_t size);
+enum {
+ /* Last segment of program. Can be used to take different actions for
+ * cache maintenance of a program load. */
+ SEG_FINAL = 1 << 0,
+};
-/* Upon completion of loading a program this function is called */
-void arch_program_loaded(void);
+/* Called for each segment of a program loaded. The PROG_FLAG_FINAL will be
+ * set on the last segment loaded. */
+void arch_segment_loaded(uintptr_t start, size_t size, int flags);
/************************
* ROMSTAGE LOADING *