Lines Matching +full:secure +full:- +full:regions

1 // SPDX-License-Identifier: GPL-2.0-only
25 * The value chosen is the largest non-zero power of 2 suitable for this purpose
26 * both on 32-bit and 64-bit ARM CPUs, to maximize the likelihood that it can
28 * Since 32-bit ARM could potentially execute with a 1G/3G user/kernel split,
30 * entire footprint of the UEFI runtime services memory regions)
32 * For RISC-V:
34 * EFI runtime virtual address for RISC-V. It also helps to use EFI runtime
35 * services on both RV32/RV64. Keep the same runtime virtual address for RISC-V
89 rsv->next = 0; in install_memreserve_table()
90 rsv->size = 0; in install_memreserve_table()
91 atomic_set(&rsv->count, 0); in install_memreserve_table()
106 supported &= rt_prop_table->runtime_services_supported; in get_supported_rt_services()
114 * for both archictectures, with the arch-specific code provided in the
142 if (efi_system_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) { in efi_pe_entry()
156 status = efi_system_table->boottime->handle_protocol(handle, in efi_pe_entry()
215 * 'dtb=' unless UEFI Secure Boot is disabled. We assume that secure in efi_pe_entry()
256 * relative placement of runtime services code and data regions, as in efi_pe_entry()
262 (prop_tbl->memory_protection_attribute & in efi_pe_entry()
269 /* hibernation expects the runtime regions to stay in the same place */ in efi_pe_entry()
275 * the headroom value using a 32-bit random value. in efi_pe_entry()
277 static const u64 headroom = EFI_RT_VIRTUAL_LIMIT - in efi_pe_entry()
278 EFI_RT_VIRTUAL_BASE - in efi_pe_entry()
285 (((headroom >> 21) * rnd) >> (32 - 21)); in efi_pe_entry()
321 * efi_get_virtmap() - create a virtual mapping for the EFI memory map
339 if (!(in->attribute & EFI_MEMORY_RUNTIME)) in efi_get_virtmap()
342 paddr = in->phys_addr; in efi_get_virtmap()
343 size = in->num_pages * EFI_PAGE_SIZE; in efi_get_virtmap()
345 in->virt_addr = in->phys_addr; in efi_get_virtmap()
357 paddr = round_down(in->phys_addr, SZ_64K); in efi_get_virtmap()
358 size += in->phys_addr - paddr; in efi_get_virtmap()
366 if (IS_ALIGNED(in->phys_addr, SZ_2M) && size >= SZ_2M) in efi_get_virtmap()
371 in->virt_addr += efi_virt_base - paddr; in efi_get_virtmap()