summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-09-16 08:08:06 -0400
committerTom Rini <trini@konsulko.com>2020-09-16 08:08:06 -0400
commitb01ba776c9ae138732d85a543878d8456e0b4b30 (patch)
treee7dd60bb2feb9f3e14bbdfcceaf393ee2e080b00 /arch
parent0487bb5ecd3f8630b86390bef5d595350b97b258 (diff)
parent5bf12a78599d4a311265c174496233aa15ed4252 (diff)
Merge tag 'efi-2020-10-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Pull request for UEFI sub-system for efi-2020-10-rc5 The following bugs are fixed: * unaligned access in br_i32_decode() * missing restore of global data pointer in UEFI selftest * missing restore of global data pointer on RISC-V in UEfI subsystem * efi_var_mem_notify_exit_boot_services() should not be __efi_runtime
Diffstat (limited to 'arch')
-rw-r--r--arch/riscv/include/asm/global_data.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/riscv/include/asm/global_data.h b/arch/riscv/include/asm/global_data.h
index 2eb14815bc..b711fcc44d 100644
--- a/arch/riscv/include/asm/global_data.h
+++ b/arch/riscv/include/asm/global_data.h
@@ -39,4 +39,13 @@ struct arch_global_data {
#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 */