From c2703354628083b6f784041d62900f41b382024e Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Sun, 6 Nov 2016 16:13:52 -0800 Subject: [PATCH] riscv: change payload() to pass the config string pointer as arg0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Change-Id: I3be7f1712accf2d726704e4c970f22749d3c3f36 Signed-off-by: Ronald G. Minnich Reviewed-on: https://review.coreboot.org/17254 Tested-by: build bot (Jenkins) Reviewed-by: Jonathan Neuschäfer --- 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)