summaryrefslogtreecommitdiff
path: root/src/arch/riscv/boot.c
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2019-11-01 21:53:36 +0100
committerNico Huber <nico.h@gmx.de>2019-11-10 11:46:10 +0000
commit55069d15d8a6dcd7f8eaaf36e85e5d7a53fdaae6 (patch)
tree3ce7924b9a242256086daf771e6b2f7327cf9df5 /src/arch/riscv/boot.c
parent7f22933e98ec70b31b939b2ab70d6b8715640848 (diff)
downloadcoreboot-55069d15d8a6dcd7f8eaaf36e85e5d7a53fdaae6.tar.xz
arch/riscv: Pass cbmem_top to ramstage via calling argument
Tested on the Qemu-Virt target both 32 and 64 bit. Change-Id: I5c74cd5d3ee292931c5bbd2e4075f88381429f72 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36558 Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/arch/riscv/boot.c')
-rw-r--r--src/arch/riscv/boot.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/arch/riscv/boot.c b/src/arch/riscv/boot.c
index d3ae693376..aaaac485ea 100644
--- a/src/arch/riscv/boot.c
+++ b/src/arch/riscv/boot.c
@@ -36,7 +36,7 @@ struct arch_prog_run_args {
static void do_arch_prog_run(struct arch_prog_run_args *args)
{
- int hart_id;
+ int hart_id = HLS()->hart_id;
struct prog *prog = args->prog;
void *fdt = HLS()->fdt;
@@ -49,11 +49,8 @@ static void do_arch_prog_run(struct arch_prog_run_args *args)
else
run_payload(prog, fdt, RISCV_PAYLOAD_MODE_S);
} else {
- void (*doit)(int hart_id, void *fdt) = prog_entry(prog);
-
- hart_id = HLS()->hart_id;
-
- doit(hart_id, fdt);
+ void (*doit)(int hart_id, void *fdt, void *arg) = prog_entry(prog);
+ doit(hart_id, fdt, prog_entry_arg(prog));
}
die("Failed to run stage");