mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2025-08-24 23:41:23 +01:00
46
blob/fw_payload.S
Normal file
46
blob/fw_payload.S
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright (c) 2018 Western Digital Corporation or its affiliates.
|
||||
*
|
||||
* Authors:
|
||||
* Anup Patel <anup.patel@wdc.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include "fw_common.S"
|
||||
|
||||
.align 3
|
||||
.section .entry, "ax", %progbits
|
||||
.global fw_next_arg1
|
||||
fw_next_arg1:
|
||||
/* We return FDT destinetion address in 'a0' */
|
||||
#ifdef FW_PAYLOAD_FDT_OFFSET
|
||||
/* a0 = destinetion FDT start address */
|
||||
la a0, payload_bin
|
||||
li a1, FW_PAYLOAD_FDT_OFFSET
|
||||
add a0, a0, a1
|
||||
#else
|
||||
add a0, zero, zero
|
||||
#endif
|
||||
ret
|
||||
|
||||
.align 3
|
||||
.section .entry, "ax", %progbits
|
||||
.global fw_next_addr
|
||||
fw_next_addr:
|
||||
/* We return next address in 'a0' */
|
||||
la a0, payload_bin
|
||||
ret
|
||||
|
||||
#define str(s) #s
|
||||
#define stringify(s) str(s)
|
||||
|
||||
.section .payload, "ax", %progbits
|
||||
.globl payload_bin
|
||||
payload_bin:
|
||||
#ifndef FW_PAYLOAD_PATH
|
||||
wfi
|
||||
j payload_bin
|
||||
#else
|
||||
.incbin stringify(FW_PAYLOAD_PATH)
|
||||
#endif
|
Reference in New Issue
Block a user