diff options
author | Ronald G. Minnich <rminnich@gmail.com> | 2016-11-06 16:13:52 -0800 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2016-11-13 00:16:37 +0100 |
commit | c2703354628083b6f784041d62900f41b382024e (patch) | |
tree | 05e15d594b59cc9a296dc3f15144f4b694fa2989 /src/arch | |
parent | 9453c92b99ca4e76457e291d6bad93d1035e15e0 (diff) |
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.
Change-Id: I3be7f1712accf2d726704e4c970f22749d3c3f36
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: https://review.coreboot.org/17254
Tested-by: build bot (Jenkins)
Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/riscv/payload.S | 6 |
1 files 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) |