[coreboot-gerrit] Patch set updated for coreboot: arches: lib: add main_decl.h for main() declaration
Aaron Durbin (adurbin@chromium.org)
gerrit at coreboot.org
Thu Feb 11 06:43:04 CET 2016
Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13681
-gerrit
commit cc32b94375ecd64e2146aefc4f9ac28f8501d56d
Author: Aaron Durbin <adurbin at chromium.org>
Date: Wed Feb 10 23:15:07 2016 -0600
arches: lib: add main_decl.h for main() declaration
It is silly to have a single header to declare the main()
symbol, however some of the arches provided it while
lib/bootblock.c relied on the arch headers to declare it. Just
move the declaration into its own header file and utilize it.
Change-Id: I743b4c286956ae047c17fe46241b699feca73628
Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
src/arch/arm/include/arch/stages.h | 2 +-
src/arch/arm64/include/arch/stages.h | 3 +--
src/arch/mips/include/arch/stages.h | 2 +-
src/arch/riscv/include/arch/stages.h | 2 +-
src/include/bootblock_common.h | 2 ++
src/include/bootstate.h | 9 ++++-----
src/include/main_decl.h | 6 ++++++
7 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/src/arch/arm/include/arch/stages.h b/src/arch/arm/include/arch/stages.h
index 2d20604..68a3bd1 100644
--- a/src/arch/arm/include/arch/stages.h
+++ b/src/arch/arm/include/arch/stages.h
@@ -16,7 +16,7 @@
#ifndef __ARCH_STAGES_H
#define __ARCH_STAGES_H
-extern void main(void);
+#include <main_decl.h>
void stage_entry(void);
diff --git a/src/arch/arm64/include/arch/stages.h b/src/arch/arm64/include/arch/stages.h
index ce66cdd..9a88ea7 100644
--- a/src/arch/arm64/include/arch/stages.h
+++ b/src/arch/arm64/include/arch/stages.h
@@ -17,8 +17,7 @@
#define __ARCH_STAGES_H
#include <stdint.h>
-
-extern void main(void);
+#include <main_decl.h>
void stage_entry(void);
diff --git a/src/arch/mips/include/arch/stages.h b/src/arch/mips/include/arch/stages.h
index 664c136..802199f 100644
--- a/src/arch/mips/include/arch/stages.h
+++ b/src/arch/mips/include/arch/stages.h
@@ -16,7 +16,7 @@
#ifndef __MIPS_ARCH_STAGES_H
#define __MIPS_ARCH_STAGES_H
-extern void main(void);
+#include <main_decl.h>
void stage_entry(void);
diff --git a/src/arch/riscv/include/arch/stages.h b/src/arch/riscv/include/arch/stages.h
index 07a72a4..90bd60b 100644
--- a/src/arch/riscv/include/arch/stages.h
+++ b/src/arch/riscv/include/arch/stages.h
@@ -16,7 +16,7 @@
#ifndef __ARCH_STAGES_H
#define __ARCH_STAGES_H
-extern void main(void);
+#include <main_decl.h>
void stage_entry(void) __attribute__((section(".text.stage_entry")));
diff --git a/src/include/bootblock_common.h b/src/include/bootblock_common.h
index 1acbef4..c8156d0 100644
--- a/src/include/bootblock_common.h
+++ b/src/include/bootblock_common.h
@@ -16,6 +16,8 @@
#ifndef __BOOTBLOCK_COMMON_H
#define __BOOTBLOCK_COMMON_H
+#include <main_decl.h>
+
/* These are defined as weak no-ops that can be overridden by mainboard/SoC. */
void bootblock_mainboard_early_init(void);
void bootblock_mainboard_init(void);
diff --git a/src/include/bootstate.h b/src/include/bootstate.h
index c38d2ba..0889018 100644
--- a/src/include/bootstate.h
+++ b/src/include/bootstate.h
@@ -20,6 +20,10 @@
#include <stdlib.h>
#include <stddef.h>
#include <stdint.h>
+/* Only declare main() when in ramstage. */
+#if ENV_RAMSTAGE
+#include <main_decl.h>
+#endif
/* Control debugging of the boot state machine. */
#define BOOT_STATE_DEBUG 0
@@ -168,11 +172,6 @@ int boot_state_unblock(boot_state_t state, boot_state_sequence_t seq);
void boot_state_current_block(void);
void boot_state_current_unblock(void);
-#if ENV_RAMSTAGE
-/* Entry into the boot state machine. */
-void main(void);
-#endif
-
/* In order to schedule boot state callbacks at compile-time specify the
* entries in an array using the BOOT_STATE_INIT_ENTRIES and
* BOOT_STATE_INIT_ENTRY macros below. */
diff --git a/src/include/main_decl.h b/src/include/main_decl.h
new file mode 100644
index 0000000..90c1716
--- /dev/null
+++ b/src/include/main_decl.h
@@ -0,0 +1,6 @@
+#ifndef _MAIN_DECL_H_
+#define _MAIN_DECL_H_
+
+void main(void);
+
+#endif
More information about the coreboot-gerrit
mailing list