/openbmc/linux/Documentation/admin-guide/ |
H A D | efi-stub.rst | 2 The EFI Boot Stub 6 as a PE/COFF image, thereby convincing EFI firmware loaders to load 7 it as an EFI executable. The code that modifies the bzImage header, 8 along with the EFI-specific entry point that the firmware loader 9 jumps to are collectively known as the "EFI boot stub", and live in 10 arch/x86/boot/header.S and drivers/firmware/efi/libstub/x86-stub.c, 11 respectively. For ARM the EFI stub is implemented in 12 arch/arm/boot/compressed/efi-header.S and 13 drivers/firmware/efi/libstub/arm32-stub.c. EFI stub code that is shared 14 between architectures is in drivers/firmware/efi/libstub. [all …]
|
/openbmc/linux/Documentation/riscv/ |
H A D | boot-image-header.rst | 2 Boot image header in RISC-V Linux 8 This document only describes the boot image header details for RISC-V Linux. 10 The following 64-byte header is present in decompressed Linux kernel image:: 25 ARM64 header. Thus, both ARM64 & RISC-V header can be combined into one common 31 - This header is also reused to support EFI stub for RISC-V. EFI specification 33 load it as an EFI application. In order to support EFI stub, code0 is replaced 37 - version field indicate header version number 47 - The "magic" field is deprecated as of version 0.2. In a future 49 with the ARM64 header "magic" field, but unfortunately does not. 50 The "magic2" field replaces it, matching up with the ARM64 header. [all …]
|
/openbmc/linux/arch/arm64/ |
H A D | Makefile | 2 # arch/arm64/Makefile 5 # architecture-specific flags and dependencies. 11 # Copyright (C) 1995-2001 by Russell King 13 LDFLAGS_vmlinux :=--no-undefined -X --pic-veneer 16 # Pass --no-apply-dynamic-relocs to restore pre-binutils-2.27 behaviour 19 LDFLAGS_vmlinux += -shared -Bsymbolic -z notext \ 20 $(call ld-option, --no-apply-dynamic-relocs) 25 LDFLAGS_vmlinux += --fix-cortex-a53-843419 29 cc_has_k_constraint := $(call try-run,echo \ 33 }' | $(CC) -S -x c -o "$$TMP" -,,-DCONFIG_CC_HAS_K_CONSTRAINT=1) [all …]
|
/openbmc/linux/drivers/firmware/efi/libstub/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 5 # things like ftrace and stack-protector are likely to cause trouble if left 9 # non-x86 reuses KBUILD_CFLAGS, x86 does not 10 cflags-y := $(KBUILD_CFLAGS) 12 cflags-$(CONFIG_X86_32) := -march=i386 13 cflags-$(CONFIG_X86_64) := -mcmodel=small 14 cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ \ 15 -fPIC -fno-strict-aliasing -mno-red-zone \ 16 -mno-mmx -mno-sse -fshort-wchar \ 17 -Wno-pointer-sign \ [all …]
|
H A D | efi-stub.c | 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: [all …]
|
H A D | efi-stub-entry.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 #include <linux/efi.h> 6 #include <asm/efi.h> 20 * EFI entry point for the generic EFI stub used by ARM, arm64, RISC-V and 39 /* Check if we were booted by the EFI firmware */ in efi_pe_entry() 40 if (efi_system_table->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) in efi_pe_entry() 70 screen_info_offset = image_addr - (unsigned long)image->image_base; in efi_pe_entry()
|
H A D | arm64-stub.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * This file implements the EFI boot stub for the arm64 kernel. 10 #include <linux/efi.h> 11 #include <asm/efi.h> 27 if (image->image_base != _text) { in handle_kernel_image() 29 image->image_base = _text; in handle_kernel_image() 36 kernel_size = _edata - _text; in handle_kernel_image() 37 kernel_codesize = __inittext_end - _text; in handle_kernel_image() 38 kernel_memsize = kernel_size + (_end - _edata); in handle_kernel_image() 58 * When built as part of the kernel, the EFI stub cannot branch to the in primary_entry_offset() [all …]
|
/openbmc/u-boot/doc/ |
H A D | README.iscsi | 1 # iSCSI booting with U-Boot and iPXE 5 U-Boot has only a reduced set of supported network protocols. The focus for 34 An alternative to implementing these protocols in U-Boot is to use an existing 35 software that can run on top of U-Boot. iPXE[1] is the "swiss army knife" of 39 iPXE can be built as an EFI application (named snp.efi) which can be loaded and 40 run by U-Boot. 44 U-Boot loads the EFI application iPXE snp.efi using the bootefi command. This 46 U-Boot. 56 uses the ConnectController boot service of U-Boot to request U-Boot to connect a 57 file system driver. U-Boot reads from the iSCSI drive via the block IO protocol [all …]
|
/openbmc/linux/drivers/firmware/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 4 # see Documentation/kbuild/kconfig-language.rst. 13 depends on ARM || ARM64 || COMPILE_TEST 19 provides a mechanism for inter-processor communication between SCP 42 depends on ARM64 71 bool "Add firmware-provided memory map to sysfs" if EXPERT 74 Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. 78 See also Documentation/ABI/testing/sysfs-firmware-memmap. 81 bool "Console device selection via EFI PCDP or HCDP table" 82 depends on ACPI && EFI && IA64 [all …]
|
/openbmc/u-boot/ |
H A D | .travis.yml | 1 # SPDX-License-Identifier: GPL-2.0+ 4 # build U-Boot on Travis CI - https://travis-ci.org/ 14 - ubuntu-toolchain-r-test 15 - llvm-toolchain-trusty-7 17 - cppcheck 18 - sloccount 19 - sparse 20 - bc 21 - build-essential 22 - libsdl1.2-dev [all …]
|
/openbmc/openbmc/poky/meta/recipes-bsp/grub/ |
H A D | grub_2.12.bb | 3 RDEPENDS:${PN}-common += "${PN}-editenv" 4 RDEPENDS:${PN} += "${PN}-common" 5 RDEPENDS:${PN}:class-native = "" 7 RPROVIDES:${PN}-editenv += "${PN}-efi-editenv" 9 PROVIDES:append:class-native = " grub-efi-native" 11 PACKAGES =+ "${PN}-editenv ${PN}-common" 12 FILES:${PN}-editenv = "${bindir}/grub-editenv" 13 FILES:${PN}-common = " \ 22 # Avoid conflicts with the EFI package for systems such as arm64 where we 23 # need to build grub and grub-efi but only EFI is supported by removing EFI [all …]
|
H A D | grub-efi_2.12.bb | 3 require conf/image-uefi.conf 5 GRUBPLATFORM = "efi" 7 DEPENDS:append = " grub-native" 8 RDEPENDS:${PN} = "grub-common virtual-grub-bootconf" 14 S = "${WORKDIR}/grub-${PV}" 20 prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-" 26 grubtarget = 'arm64' 34 raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target) 38 prefix = "grub-efi-" if prefix == "" else "" 45 EXTRA_OECONF += "--enable-efiemu=no" [all …]
|
/openbmc/linux/arch/arm64/include/asm/ |
H A D | efi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 35 __efi_rt_asm_wrapper((p)->f, #f, args) 44 * efi_rt_stack_top[-1] contains the value the stack pointer had before 45 * switching to the EFI runtime stack. 49 on_task_stack(current, READ_ONCE(efi_rt_stack_top[-1]), 1)) 54 * Even when Linux uses IRQ priorities for IRQ disabling, EFI does not. 55 * And EFI shouldn't really play around with priority masking as it is not aware 74 * On arm64, we have to ensure that the initrd ends up in the linear region, 75 * which is a 1 GB aligned region of size '1UL << (VA_BITS_MIN - 1)' that is 78 * Since the EFI stub is part of the kernel Image, we can relax the [all …]
|
/openbmc/u-boot/lib/efi_loader/ |
H A D | Kconfig | 2 bool "Support running EFI Applications in U-Boot" 14 Select this option if you want to run EFI applications (like grub2) 15 on top of U-Boot. If this option is enabled, U-Boot will expose EFI 16 interfaces to a loaded EFI application, enabling it to reuse U-Boot's 25 Unicode codepoints in the range 0x0000-0xffff. If this option is not 30 bool "EFI Applications use bounce buffers for DMA operations" 31 depends on EFI_LOADER && ARM64 39 bool "Expose HII protocols to EFI applications" 47 U-Boot implements enough of its features to be able to run the UEFI
|
/openbmc/linux/drivers/firmware/efi/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 7 # ARM64 maps efi runtime services in userspace addresses 11 KASAN_SANITIZE_runtime-wrappers.o := n 13 obj-$(CONFIG_ACPI_BGRT) += efi-bgrt.o 14 obj-$(CONFIG_EFI) += efi.o vars.o reboot.o memattr.o tpm.o 15 obj-$(CONFIG_EFI) += memmap.o 17 obj-$(CONFIG_EFI) += capsule.o 19 obj-$(CONFIG_EFI_PARAMS_FROM_FDT) += fdtparams.o 20 obj-$(CONFIG_EFI_ESRT) += esrt.o 21 obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o [all …]
|
H A D | arm-runtime.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/efi.h> 24 #include <asm/efi.h> 36 { -1, NULL } 61 phys_addr_t phys = md->phys_addr; in efi_virtmap_init() 64 if (!(md->attribute & EFI_MEMORY_RUNTIME)) in efi_virtmap_init() 66 if (md->virt_addr == U64_MAX) in efi_virtmap_init() 71 pr_warn(" EFI remap %pa: failed to create mapping (%d)\n", in efi_virtmap_init() 85 * non-early mapping of the UEFI system table and virtual mappings for all 93 pr_info("EFI services will not be available.\n"); in arm_enable_runtime_services() [all …]
|
H A D | memattr.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #define pr_fmt(fmt) "efi: memattr: " fmt 8 #include <linux/efi.h> 31 pr_err("Failed to map EFI Memory Attributes table @ 0x%lx\n", in efi_memattr_init() 33 return -ENOMEM; in efi_memattr_init() 36 if (tbl->version > 2) { in efi_memattr_init() 37 pr_warn("Unexpected EFI Memory Attributes table version %d\n", in efi_memattr_init() 38 tbl->version); in efi_memattr_init() 42 tbl_size = sizeof(*tbl) + tbl->num_entries * tbl->desc_size; in efi_memattr_init() 44 set_bit(EFI_MEM_ATTR, &efi.flags); in efi_memattr_init() [all …]
|
/openbmc/linux/Documentation/fb/ |
H A D | efifb.rst | 5 This is a generic EFI platform driver for systems with UEFI firmware. The 6 system must be booted via the EFI stub for this to be usable. efifb supports 13 - iMac 17"/20" 14 - Macbook 15 - Macbook Pro 15"/17" 16 - MacMini 17 - ARM/ARM64/X86 systems with UEFI firmware 43 to workaround side-effects and slowdowns on other CPU cores 50 The EFI stub will set the mode of the display to mode number n if 53 <xres>x<yres>[-(rgb|bgr|<bpp>)] [all …]
|
/openbmc/openbmc/meta-arm/meta-arm-bsp/documentation/corstone1000/ |
H A D | user-guide.rst | 2 # Copyright (c) 2022-2024, Arm Limited. 4 # SPDX-License-Identifier: MIT 11 ------ 12 The Corstone-1000 software stack uses the `Yocto Project <https://www.yoctoproject.org/>`__ to build 13 a tiny Linux distribution suitable for the Corstone-1000 platform (kernel and initramfs filesystem … 14 The Yocto Project relies on the `BitBake <https://docs.yoctoproject.org/bitbake.html#bitbake-docume… 19 ------------- 26 - Git 1.8.3.1 or greater. 27 - Python 3.8.0 or greater. 28 - GNU Tar 1.28 or greater. [all …]
|
/openbmc/linux/arch/arm64/kernel/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 6 CFLAGS_armv8_deprecated.o := -I$(src) 14 CFLAGS_REMOVE_syscall.o = -fstack-protector -fstack-protector-strong 15 CFLAGS_syscall.o += -fno-stack-protector 23 # available or are out-of-sync with HW state. Since `noinstr` doesn't always 25 KCOV_INSTRUMENT_entry-common.o := n 29 obj-y := debug-monitors.o entry.o irq.o fpsimd.o \ 30 entry-common.o entry-fpsimd.o process.o ptrace.o \ 32 io.o vdso.o hyp-stub.o psci.o cpu_ops.o \ 35 smp.o smp_spin_table.o topology.o smccc-call.o \ [all …]
|
H A D | acpi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ARM64 Specific Low-Level ACPI Boot Support 5 * Copyright (C) 2013-2014, Linaro Ltd. 16 #include <linux/arm-smccc.h> 18 #include <linux/efi.h> 19 #include <linux/efi-bgrt.h> 51 return -EINVAL; in parse_acpi() 61 return -EINVAL; /* Core will print when we return error */ in parse_acpi() 117 * acpi_fadt_sanity_check() - Check FADT presence and carry out sanity 130 * FADT is required on arm64; retrieve it to check its presence in acpi_fadt_sanity_check() [all …]
|
/openbmc/linux/arch/riscv/kernel/ |
H A D | efi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Adapted from arch/arm64/kernel/efi.c 7 #include <linux/efi.h> 10 #include <asm/efi.h> 12 #include <asm/pgtable-bits.h> 21 u64 attr = md->attribute; in efimem_to_pgprot_map() 22 u32 type = md->type; in efimem_to_pgprot_map() 27 /* R-- */ in efimem_to_pgprot_map() 32 /* R-X */ in efimem_to_pgprot_map() 36 /* RW- */ in efimem_to_pgprot_map() [all …]
|
/openbmc/linux/arch/arm64/boot/ |
H A D | Makefile | 2 # arch/arm64/boot/Makefile 5 # architecture-specific flags and dependencies. 17 OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S 43 EFI_ZBOOT_BFD_TARGET := elf64-littleaarch64 44 EFI_ZBOOT_MACH_TYPE := ARM64 47 EFI_ZBOOT_OBJCOPY_FLAGS = --add-symbol zboot_code_size=0x$(shell \ 48 $(NM) vmlinux|grep _kernel_codesize|cut -d' ' -f1) 50 include $(srctree)/drivers/firmware/efi/libstub/Makefile.zboot
|
/openbmc/openbmc/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/ |
H A D | u-boot-corstone1000.inc | 1 # Corstone1000 specific U-boot support 3 DEPENDS:append = " openssl-native efitools-native" 4 CORSTONE1000_DEVICE_TREE:corstone1000-mps3 = "corstone1000-mps3" 5 CORSTONE1000_DEVICE_TREE:corstone1000-fvp = "corstone1000-fvp" 8 UBOOT_CONFIG ??= "EFI" 9 UBOOT_CONFIG[EFI] = "corstone1000_defconfig" 19 file://0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch \ 20 file://0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch \ 21 file://0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch \ 22 file://0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch \ [all …]
|
/openbmc/qemu/tests/functional/ |
H A D | test_aarch64_sbsaref_freebsd.py | 5 # SPDX-FileCopyrightText: 2023-2024 Linaro Ltd. 6 # SPDX-FileContributor: Philippe Mathieu-Daudé <philmd@linaro.org> 7 # SPDX-FileContributor: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> 9 # SPDX-License-Identifier: GPL-2.0-or-later 23 ('https://download.freebsd.org/releases/arm64/aarch64/ISO-IMAGES/' 24 '14.1/FreeBSD-14.1-RELEASE-arm64-aarch64-bootonly.iso'), 27 # This tests the whole boot chain from EFI to Userspace 37 "-drive", f"file={img_path},format=raw,snapshot=on", 40 self.vm.add_args("-cpu", cpu) 46 self.boot_freebsd14("cortex-a57") [all …]
|