There are too many "FIT" in firmware land. In order to reduce possible confusion of CBFS_TYPE_FIT with the Intel Firmware Interface Table, this patch renames it to CBFS_TYPE_FIT_PAYLOAD (including the cbfstool argument, so calling scripts will now need to replace `-t fit` with `-t fit_payload`). Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I826cefce54ade06c6612c8a7bb53e02092e7b11a Reviewed-on: https://review.coreboot.org/c/coreboot/+/64735 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com>
33 lines
690 B
C
33 lines
690 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#include <cbfs.h>
|
|
#include <arch/cache.h>
|
|
#include <program_loading.h>
|
|
|
|
void boot_linux(void *kernel_ptr, void *fdt_ptr);
|
|
|
|
void arch_prog_run(struct prog *prog)
|
|
{
|
|
void (*doit)(void *);
|
|
|
|
cache_sync_instructions();
|
|
|
|
switch (prog_cbfs_type(prog)) {
|
|
case CBFS_TYPE_FIT_PAYLOAD:
|
|
/*
|
|
* We only load Linux payloads from the ramstage, so provide a hint to
|
|
* the linker that the below functions do not need to be included in
|
|
* earlier stages.
|
|
*/
|
|
if (!ENV_RAMSTAGE)
|
|
break;
|
|
|
|
dcache_mmu_disable();
|
|
boot_linux(prog_entry(prog), prog_entry_arg(prog));
|
|
break;
|
|
default:
|
|
doit = prog_entry(prog);
|
|
doit(prog_entry_arg(prog));
|
|
}
|
|
}
|