mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 00:32:04 +02:00
riscv: define function set_gd()
Function set_gd() is needed in the UEFI sub-system if the global data pointer is stored in a register. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
@@ -39,4 +39,13 @@ struct arch_global_data {
|
|||||||
|
|
||||||
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("gp")
|
#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm ("gp")
|
||||||
|
|
||||||
|
static inline void set_gd(volatile gd_t *gd_ptr)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_64BIT
|
||||||
|
asm volatile("ld gp, %0\n" : : "m"(gd_ptr));
|
||||||
|
#else
|
||||||
|
asm volatile("lw gp, %0\n" : : "m"(gd_ptr));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __ASM_GBL_DATA_H */
|
#endif /* __ASM_GBL_DATA_H */
|
||||||
|
Reference in New Issue
Block a user