Lines Matching defs:initrd
517 * for the firmware or bootloader to expose the initrd data directly to the stub
519 * very easy to implement. It is a simple Linux initrd specific conduit between
521 * kernel) in charge of where and when to load the initrd, while leaving it up
544 * efi_load_initrd_dev_path() - load the initrd from the Linux initrd device path
545 * @load_addr: pointer to store the address where the initrd was loaded
546 * @load_size: pointer to store the size of the loaded initrd
547 * @max: upper limit for the initrd memory allocation
550 * * %EFI_SUCCESS if the initrd was loaded successfully, in which
552 * * %EFI_NOT_FOUND if no LoadFile2 protocol exists on the initrd device path
557 efi_status_t efi_load_initrd_dev_path(struct linux_efi_initrd *initrd,
576 initrd->size = 0;
577 status = efi_call_proto(lf2, load_file, dp, false, &initrd->size, NULL);
581 status = efi_allocate_pages(initrd->size, &initrd->base, max);
585 status = efi_call_proto(lf2, load_file, dp, false, &initrd->size,
586 (void *)initrd->base);
588 efi_free(initrd->size, initrd->base);
596 struct linux_efi_initrd *initrd,
604 return handle_cmdline_files(image, L"initrd=", sizeof(L"initrd=") - 2,
606 &initrd->base, &initrd->size);
612 * @soft_limit: preferred size of allocated memory for loading the initrd
624 struct linux_efi_initrd initrd, *tbl;
629 status = efi_load_initrd_dev_path(&initrd, hard_limit);
631 efi_info("Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path\n");
633 status = efi_load_initrd_cmdline(image, &initrd, soft_limit,
635 /* command line loader disabled or no initrd= passed? */
639 efi_info("Loaded initrd from command line option\n");
644 status = efi_bs_call(allocate_pool, EFI_LOADER_DATA, sizeof(initrd),
649 *tbl = initrd;
661 efi_free(initrd.size, initrd.base);
663 efi_err("Failed to load initrd: 0x%lx\n", status);