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>
This commit is contained in:
parent
9453c92b99
commit
c270335462
|
@ -11,10 +11,12 @@
|
||||||
* GNU General Public License for more details.
|
* 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
|
.global riscvpayload
|
||||||
riscvpayload:
|
riscvpayload:
|
||||||
/* Jump to a0 in S-mode */
|
mv t0,a1
|
||||||
mv t0,a0
|
|
||||||
csrw mepc, t0
|
csrw mepc, t0
|
||||||
csrr t0, mstatus
|
csrr t0, mstatus
|
||||||
li t1, ~(3<<11)
|
li t1, ~(3<<11)
|
||||||
|
|
Loading…
Reference in New Issue