summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLee Leahy <leroy.p.leahy@intel.com>2016-06-05 17:20:17 -0700
committerLeroy P Leahy <leroy.p.leahy@intel.com>2016-06-09 17:15:35 +0200
commit538b324c5f6e890b435dd88f4674cdd09fb56ed9 (patch)
tree1b4a7b75267e95cd82ada7c3161ec7eb33010a80
parentc8d45ac88e0c1170bb1b8b01a52701d96416e626 (diff)
lib: Add asmlinkage attribute to bootblock_main_with_timestamp
Add asmlinkage to bootblock_main_with_timestamp so that it may be called directly from the assembly code. TEST=Build for Amenia and Galileo Gen2 Change-Id: Iefb8e5c1ddce2ec495b9272966b595d5adcebc1c Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-on: https://review.coreboot.org/15125 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/include/bootblock_common.h3
-rw-r--r--src/lib/bootblock.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/include/bootblock_common.h b/src/include/bootblock_common.h
index b227cf47be..0985241590 100644
--- a/src/include/bootblock_common.h
+++ b/src/include/bootblock_common.h
@@ -16,6 +16,7 @@
#ifndef __BOOTBLOCK_COMMON_H
#define __BOOTBLOCK_COMMON_H
+#include <arch/cpu.h>
#include <main_decl.h>
#include <stdint.h>
@@ -36,6 +37,6 @@ void bootblock_soc_init(void);
* This function assumes that the timer has already been initialized, so it
* does not call init_timer().
*/
-void bootblock_main_with_timestamp(uint64_t base_timestamp);
+void asmlinkage bootblock_main_with_timestamp(uint64_t base_timestamp);
#endif /* __BOOTBLOCK_COMMON_H */
diff --git a/src/lib/bootblock.c b/src/lib/bootblock.c
index f16cb44df6..9dece0c373 100644
--- a/src/lib/bootblock.c
+++ b/src/lib/bootblock.c
@@ -29,7 +29,7 @@ __attribute__((weak)) void bootblock_soc_early_init(void) { /* do nothing */ }
__attribute__((weak)) void bootblock_soc_init(void) { /* do nothing */ }
__attribute__((weak)) void bootblock_mainboard_init(void) { /* do nothing */ }
-void bootblock_main_with_timestamp(uint64_t base_timestamp)
+void asmlinkage bootblock_main_with_timestamp(uint64_t base_timestamp)
{
/* Initialize timestamps if we have TIMESTAMP region in memlayout.ld. */
if (IS_ENABLED(CONFIG_COLLECT_TIMESTAMPS) && _timestamp_size > 0)