From: Atish Patra <atish.patra@xxxxxxx> Add the arch specific efi.h header defining the RISC-V specific glue for the EFI stub code. Signed-off-by: Atish Patra <atish.patra@xxxxxxx> Reviewed-by: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx> Link: https://lore.kernel.org/r/20200421033336.9663-4-atish.patra@xxxxxxx [ardb: - split off from 'RISC-V: Add EFI stub support' - drop unused definition of VA_BITS_MIN ] Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx> --- arch/riscv/include/asm/efi.h | 41 ++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/arch/riscv/include/asm/efi.h b/arch/riscv/include/asm/efi.h new file mode 100644 index 000000000000..3dc495a937da --- /dev/null +++ b/arch/riscv/include/asm/efi.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (C) 2020 Western Digital Corporation or its affiliates. + */ +#ifndef _ASM_EFI_H +#define _ASM_EFI_H + +#include <asm/io.h> +#include <asm/mmu_context.h> +#include <asm/ptrace.h> +#include <asm/tlbflush.h> + +/* on RISC-V, the FDT may be located anywhere in system RAM */ +static inline unsigned long efi_get_max_fdt_addr(unsigned long dram_base) +{ + return ULONG_MAX; +} + +/* Load initrd at enough distance from DRAM start */ +static inline unsigned long efi_get_max_initrd_addr(unsigned long dram_base, + unsigned long image_addr) +{ + return dram_base + SZ_256M; +} + +#define efi_bs_call(func, ...) efi_system_table()->boottime->func(__VA_ARGS__) +#define efi_rt_call(func, ...) efi_system_table()->runtime->func(__VA_ARGS__) +#define efi_is_native() (true) + +#define efi_table_attr(inst, attr) (inst->attr) + +#define efi_call_proto(inst, func, ...) inst->func(inst, ##__VA_ARGS__) + +#define alloc_screen_info(x...) (&screen_info) +extern char stext_offset[]; + +static inline void free_screen_info(struct screen_info *si) +{ +} + +#endif /* _ASM_EFI_H */ -- 2.17.1