Lines Matching +full:arm64 +full:- +full:efi
1 // SPDX-License-Identifier: GPL-2.0-only
3 * EFI stub implementation that is shared by arm and arm64 architectures.
4 * This should be #included by the EFI stub implementation files.
12 #include <linux/efi.h>
13 #include <asm/efi.h>
21 * For ARM/ARM64:
24 * The value chosen is the largest non-zero power of 2 suitable for this purpose
25 * both on 32-bit and 64-bit ARM CPUs, to maximize the likelihood that it can
27 * Since 32-bit ARM could potentially execute with a 1G/3G user/kernel split,
31 * For RISC-V:
33 * EFI runtime virtual address for RISC-V. It also helps to use EFI runtime
34 * services on both RV32/RV64. Keep the same runtime virtual address for RISC-V
40 * Some architectures map the EFI regions into the kernel's linear map using a
91 rsv->next = 0; in install_memreserve_table()
92 rsv->size = 0; in install_memreserve_table()
93 atomic_set(&rsv->count, 0); in install_memreserve_table()
108 supported &= rt_prop_table->runtime_services_supported; in get_supported_rt_services()
120 * Get the command line from EFI, using the LOADED_IMAGE in efi_handle_cmdline()
193 * efi_allocate_virtmap() - create a pool allocation for the virtmap
222 * efi_get_virtmap() - create a virtual mapping for the EFI memory map
242 if (!(in->attribute & EFI_MEMORY_RUNTIME)) in efi_get_virtmap()
245 paddr = in->phys_addr; in efi_get_virtmap()
246 size = in->num_pages * EFI_PAGE_SIZE; in efi_get_virtmap()
248 in->virt_addr = in->phys_addr + EFI_RT_VIRTUAL_OFFSET; in efi_get_virtmap()
260 paddr = round_down(in->phys_addr, SZ_64K); in efi_get_virtmap()
261 size += in->phys_addr - paddr; in efi_get_virtmap()
269 if (IS_ALIGNED(in->phys_addr, SZ_2M) && size >= SZ_2M) in efi_get_virtmap()
274 in->virt_addr += efi_virt_base - paddr; in efi_get_virtmap()