From 780ec8d84b907fb719653c594fb640e1c2331ad0 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Sun, 6 Nov 2016 16:13:52 -0800 Subject: [PATCH] UPSTREAM: riscv: change payload() to pass the config string pointer as arg0 The riscv 1.9 standard defines a textual config string to be passed to kernels and hypervisors. Change the payload function to pass this string in a0. BUG=None BRANCH=None TEST=None Signed-off-by: Ronald G. Minnich Reviewed-on: https://review.coreboot.org/17254 Tested-by: build bot (Jenkins) Reviewed-by: Jonathan Neuschfer Change-Id: I3be7f1712accf2d726704e4c970f22749d3c3f36 Reviewed-on: https://chromium-review.googlesource.com/411482 Commit-Ready: Furquan Shaikh Tested-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- src/arch/riscv/payload.S | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/arch/riscv/payload.S b/src/arch/riscv/payload.S index 3261a80c2b..ce88bc3f64 100644 --- a/src/arch/riscv/payload.S +++ b/src/arch/riscv/payload.S @@ -11,10 +11,12 @@ * GNU General Public License for more details. */ +// "return" to a payload pointed to by a1 with +// an M-mode pointer (or, to upper levels, physical address) +// to the config string in a0. .global riscvpayload riscvpayload: - /* Jump to a0 in S-mode */ - mv t0,a0 + mv t0,a1 csrw mepc, t0 csrr t0, mstatus li t1, ~(3<<11)