1628c3bb4SHuacai Chen /* SPDX-License-Identifier: GPL-2.0 */ 2628c3bb4SHuacai Chen /* 3628c3bb4SHuacai Chen * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 4628c3bb4SHuacai Chen */ 5628c3bb4SHuacai Chen #ifndef _ASM_LOONGARCH_EFI_H 6628c3bb4SHuacai Chen #define _ASM_LOONGARCH_EFI_H 7628c3bb4SHuacai Chen 8628c3bb4SHuacai Chen #include <linux/efi.h> 9628c3bb4SHuacai Chen 10628c3bb4SHuacai Chen void __init efi_init(void); 11628c3bb4SHuacai Chen void __init efi_runtime_init(void); 12*88d4d957SBinbin Zhou void __init *efi_fdt_pointer(void); 13628c3bb4SHuacai Chen void efifb_setup_from_dmi(struct screen_info *si, const char *opt); 14628c3bb4SHuacai Chen 15628c3bb4SHuacai Chen #define ARCH_EFI_IRQ_FLAGS_MASK 0x00000004 /* Bit 2: CSR.CRMD.IE */ 16628c3bb4SHuacai Chen 178add9a3aSSudeep Holla #define arch_efi_call_virt_setup() 188add9a3aSSudeep Holla #define arch_efi_call_virt_teardown() 19628c3bb4SHuacai Chen 20628c3bb4SHuacai Chen #define EFI_ALLOC_ALIGN SZ_64K 21ead384d9SHuacai Chen #define EFI_RT_VIRTUAL_OFFSET CSR_DMW0_BASE 22628c3bb4SHuacai Chen 23ead384d9SHuacai Chen static inline struct screen_info *alloc_screen_info(void) 24ead384d9SHuacai Chen { 25ead384d9SHuacai Chen return &screen_info; 26ead384d9SHuacai Chen } 27ead384d9SHuacai Chen 28ead384d9SHuacai Chen static inline void free_screen_info(struct screen_info *si) 29ead384d9SHuacai Chen { 30ead384d9SHuacai Chen } 31628c3bb4SHuacai Chen 32628c3bb4SHuacai Chen static inline unsigned long efi_get_max_initrd_addr(unsigned long image_addr) 33628c3bb4SHuacai Chen { 34628c3bb4SHuacai Chen return ULONG_MAX; 35628c3bb4SHuacai Chen } 36628c3bb4SHuacai Chen 37628c3bb4SHuacai Chen #endif /* _ASM_LOONGARCH_EFI_H */ 38