xref: /linux/arch/loongarch/include/asm/efi.h (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
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 efifb_setup_from_dmi(struct screen_info *si, const char *opt);
13 
14 #define ARCH_EFI_IRQ_FLAGS_MASK  0x00000004  /* Bit 2: CSR.CRMD.IE */
15 
16 #define arch_efi_call_virt_setup()               \
17 ({                                               \
18 })
19 
20 #define arch_efi_call_virt(p, f, args...)        \
21 ({                                               \
22 	efi_##f##_t * __f;                       \
23 	__f = p->f;                              \
24 	__f(args);                               \
25 })
26 
27 #define arch_efi_call_virt_teardown()            \
28 ({                                               \
29 })
30 
31 #define EFI_ALLOC_ALIGN		SZ_64K
32 
33 struct screen_info *alloc_screen_info(void);
34 void free_screen_info(struct screen_info *si);
35 
36 static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr)
37 {
38 	return ULONG_MAX;
39 }
40 
41 #endif /* _ASM_LOONGARCH_EFI_H */
42