xref: /linux/arch/loongarch/include/asm/efi.h (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
4  */
5 #ifndef _ASM_LOONGARCH_EFI_H
6 #define _ASM_LOONGARCH_EFI_H
7 
8 #include <linux/efi.h>
9 
10 void __init efi_init(void);
11 void __init efi_runtime_init(void);
12 void __init *efi_fdt_pointer(void);
13 void efifb_setup_from_dmi(struct screen_info *si, const char *opt);
14 
15 #define ARCH_EFI_IRQ_FLAGS_MASK  0x00000004  /* Bit 2: CSR.CRMD.IE */
16 
17 #define arch_efi_call_virt_setup()
18 #define arch_efi_call_virt_teardown()
19 
20 #define EFI_ALLOC_ALIGN		SZ_64K
21 #define EFI_RT_VIRTUAL_OFFSET	CSR_DMW0_BASE
22 
23 static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr)
24 {
25 	return ULONG_MAX;
26 }
27 
28 static inline unsigned long efi_get_kimg_min_align(void)
29 {
30 	return SZ_2M;
31 }
32 
33 #define EFI_KIMG_PREFERRED_ADDRESS	PHYSADDR(VMLINUX_LOAD_ADDRESS)
34 
35 unsigned long kernel_entry_address(void);
36 
37 #endif /* _ASM_LOONGARCH_EFI_H */
38