lib: Remove the BOOTBLOCK_CUSTOM compile guard
This CL allows that everyone can use main() in lib/bootblock.c even if you select CONFIG_BOOTBLOCK_CUSTOM. I also rename main functions used in some soc/ to avoid the collision with the main function defined at lib/bootblock.c. Change-Id: I0575c9d1ce9dea9facfcc86760dff4deee9c1e29 Signed-off-by: Asami Doi <d0iasm.pub@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34250 Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
4593d66a20
commit
44443696af
|
@ -33,7 +33,7 @@ _start:
|
||||||
addi $t0, $t0, 4
|
addi $t0, $t0, 4
|
||||||
|
|
||||||
/* Run main */
|
/* Run main */
|
||||||
b main
|
b mips_main
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Should never return from main. Make sure there is no branch in the
|
* Should never return from main. Make sure there is no branch in the
|
||||||
|
|
|
@ -19,7 +19,10 @@
|
||||||
#include <halt.h>
|
#include <halt.h>
|
||||||
#include <program_loading.h>
|
#include <program_loading.h>
|
||||||
|
|
||||||
void main(void)
|
/* called from assembly in bootblock.S */
|
||||||
|
void mips_main(void);
|
||||||
|
|
||||||
|
void mips_main(void)
|
||||||
{
|
{
|
||||||
bootblock_cpu_init();
|
bootblock_cpu_init();
|
||||||
|
|
||||||
|
|
|
@ -32,10 +32,7 @@ decompressor-y += memcmp.c
|
||||||
decompressor-y += prog_ops.c
|
decompressor-y += prog_ops.c
|
||||||
decompressor-$(CONFIG_COLLECT_TIMESTAMPS) += timestamp.c
|
decompressor-$(CONFIG_COLLECT_TIMESTAMPS) += timestamp.c
|
||||||
|
|
||||||
ifneq ($(CONFIG_BOOTBLOCK_CUSTOM),y)
|
|
||||||
bootblock-y += bootblock.c
|
bootblock-y += bootblock.c
|
||||||
endif
|
|
||||||
|
|
||||||
bootblock-y += prog_loaders.c
|
bootblock-y += prog_loaders.c
|
||||||
bootblock-y += prog_ops.c
|
bootblock-y += prog_ops.c
|
||||||
bootblock-y += cbfs.c
|
bootblock-y += cbfs.c
|
||||||
|
|
|
@ -17,10 +17,12 @@
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <program_loading.h>
|
#include <program_loading.h>
|
||||||
|
|
||||||
|
void qemu_power8_main(void);
|
||||||
|
|
||||||
/* The qemu part of all this is very, very non-hardware like.
|
/* The qemu part of all this is very, very non-hardware like.
|
||||||
* So it gets its own bootblock.
|
* So it gets its own bootblock.
|
||||||
*/
|
*/
|
||||||
void main(void)
|
void qemu_power8_main(void)
|
||||||
{
|
{
|
||||||
if (CONFIG(BOOTBLOCK_CONSOLE)) {
|
if (CONFIG(BOOTBLOCK_CONSOLE)) {
|
||||||
console_init();
|
console_init();
|
||||||
|
|
|
@ -26,6 +26,9 @@
|
||||||
#include <timestamp.h>
|
#include <timestamp.h>
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
|
/* called from assembly in bootblock_asm.S */
|
||||||
|
void tegra124_main(void);
|
||||||
|
|
||||||
static void run_next_stage(void *entry)
|
static void run_next_stage(void *entry)
|
||||||
{
|
{
|
||||||
ASSERT(entry);
|
ASSERT(entry);
|
||||||
|
@ -41,7 +44,7 @@ static void run_next_stage(void *entry)
|
||||||
clock_halt_avp();
|
clock_halt_avp();
|
||||||
}
|
}
|
||||||
|
|
||||||
void main(void)
|
void tegra124_main(void)
|
||||||
{
|
{
|
||||||
// enable pinmux clamp inputs
|
// enable pinmux clamp inputs
|
||||||
clamp_tristate_inputs();
|
clamp_tristate_inputs();
|
||||||
|
|
|
@ -66,5 +66,5 @@ call_bootblock:
|
||||||
* Thumb. However, "b" will not and GCC may attempt to create a
|
* Thumb. However, "b" will not and GCC may attempt to create a
|
||||||
* wrapper which is currently broken.
|
* wrapper which is currently broken.
|
||||||
*/
|
*/
|
||||||
bl main
|
bl tegra124_main
|
||||||
ENDPROC(_start)
|
ENDPROC(_start)
|
||||||
|
|
|
@ -31,6 +31,9 @@
|
||||||
#define ODMDATA_OFFSET_IN_BCT 0x508
|
#define ODMDATA_OFFSET_IN_BCT 0x508
|
||||||
#define TEGRA_SRAM_MAX (TEGRA_SRAM_BASE + TEGRA_SRAM_SIZE)
|
#define TEGRA_SRAM_MAX (TEGRA_SRAM_BASE + TEGRA_SRAM_SIZE)
|
||||||
|
|
||||||
|
/* called from assembly in bootblock_asm.S */
|
||||||
|
void tegra210_main(void);
|
||||||
|
|
||||||
static void save_odmdata(void)
|
static void save_odmdata(void)
|
||||||
{
|
{
|
||||||
struct tegra_pmc_regs *pmc = (struct tegra_pmc_regs*)TEGRA_PMC_BASE;
|
struct tegra_pmc_regs *pmc = (struct tegra_pmc_regs*)TEGRA_PMC_BASE;
|
||||||
|
@ -155,7 +158,7 @@ static void mbist_workaround(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void main(void)
|
void tegra210_main(void)
|
||||||
{
|
{
|
||||||
// enable JTAG at the earliest stage
|
// enable JTAG at the earliest stage
|
||||||
enable_jtag();
|
enable_jtag();
|
||||||
|
|
|
@ -37,5 +37,5 @@ ENTRY(_start)
|
||||||
*/
|
*/
|
||||||
msr cpsr_cxf, #0xdf
|
msr cpsr_cxf, #0xdf
|
||||||
|
|
||||||
stack_init stack_top=_estack stack_bottom=_stack seed=1 func=main
|
stack_init stack_top=_estack stack_bottom=_stack seed=1 func=tegra210_main
|
||||||
ENDPROC(_start)
|
ENDPROC(_start)
|
||||||
|
|
Loading…
Reference in New Issue