TianoCore EDK2 master
|
#include <Uefi.h>
#include <Guid/QemuKernelLoaderFsMedia.h>
#include <Library/DebugLib.h>
#include <Library/LoadLinuxLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/PrintLib.h>
#include <Library/QemuFwCfgLib.h>
#include <Library/QemuLoadImageLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Protocol/DevicePath.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/OvmfLoadedX86LinuxKernel.h>
Go to the source code of this file.
Data Structures | |
struct | KERNEL_FILE_DEVPATH |
struct | KERNEL_VENMEDIA_FILE_DEVPATH |
Functions | |
STATIC VOID | FreeLegacyImage (IN OVMF_LOADED_X86_LINUX_KERNEL *LoadedImage) |
STATIC EFI_STATUS | QemuLoadLegacyImage (OUT EFI_HANDLE *ImageHandle) |
STATIC EFI_STATUS | QemuStartLegacyImage (IN EFI_HANDLE ImageHandle) |
STATIC EFI_STATUS | QemuUnloadLegacyImage (IN EFI_HANDLE ImageHandle) |
EFI_STATUS EFIAPI | QemuLoadKernelImage (OUT EFI_HANDLE *ImageHandle) |
EFI_STATUS EFIAPI | QemuStartKernelImage (IN OUT EFI_HANDLE *ImageHandle) |
EFI_STATUS EFIAPI | QemuUnloadKernelImage (IN EFI_HANDLE ImageHandle) |
Variables | |
STATIC CONST KERNEL_VENMEDIA_FILE_DEVPATH | mKernelDevicePath |
X86 specific implementation of QemuLoadImageLib library class interface with support for loading mixed mode images and non-EFI stub images
Note that this implementation reads the cmdline (and possibly kernel, setup data, and initrd in the legacy boot mode) from fw_cfg directly.
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
Copyright (c) 2020, ARM Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file X86QemuLoadImageLib.c.
STATIC VOID FreeLegacyImage | ( | IN OVMF_LOADED_X86_LINUX_KERNEL * | LoadedImage | ) |
Definition at line 62 of file X86QemuLoadImageLib.c.
EFI_STATUS EFIAPI QemuLoadKernelImage | ( | OUT EFI_HANDLE * | ImageHandle | ) |
Download the kernel, the initial ramdisk, and the kernel command line from QEMU's fw_cfg. The kernel will be instructed via its command line to load the initrd from the same Simple FileSystem where the kernel was loaded from.
[out] | ImageHandle | The image handle that was allocated for loading the image |
EFI_SUCCESS | The image was loaded successfully. |
EFI_NOT_FOUND | Kernel image was not found. |
EFI_OUT_OF_RESOURCES | Memory allocation failed. |
EFI_PROTOCOL_ERROR | Unterminated kernel command line. |
Definition at line 332 of file X86QemuLoadImageLib.c.
STATIC EFI_STATUS QemuLoadLegacyImage | ( | OUT EFI_HANDLE * | ImageHandle | ) |
Definition at line 97 of file X86QemuLoadImageLib.c.
EFI_STATUS EFIAPI QemuStartKernelImage | ( | IN OUT EFI_HANDLE * | ImageHandle | ) |
Transfer control to a kernel image loaded with QemuLoadKernelImage ()
[in,out] | ImageHandle | Handle of image to be started. May assume a different value on return if the image was reloaded. |
EFI_INVALID_PARAMETER | ImageHandle is either an invalid image handle or the image has already been initialized with StartImage |
EFI_SECURITY_VIOLATION | The current platform policy specifies that the image should not be started. |
Definition at line 533 of file X86QemuLoadImageLib.c.
STATIC EFI_STATUS QemuStartLegacyImage | ( | IN EFI_HANDLE | ImageHandle | ) |
Definition at line 259 of file X86QemuLoadImageLib.c.
EFI_STATUS EFIAPI QemuUnloadKernelImage | ( | IN EFI_HANDLE | ImageHandle | ) |
Unloads an image loaded with QemuLoadKernelImage ().
ImageHandle | Handle that identifies the image to be unloaded. |
EFI_SUCCESS | The image has been unloaded. |
EFI_UNSUPPORTED | The image has been started, and does not support unload. |
EFI_INVALID_PARAMETER | ImageHandle is not a valid image handle. |
Definition at line 605 of file X86QemuLoadImageLib.c.
STATIC EFI_STATUS QemuUnloadLegacyImage | ( | IN EFI_HANDLE | ImageHandle | ) |
Definition at line 283 of file X86QemuLoadImageLib.c.
STATIC CONST KERNEL_VENMEDIA_FILE_DEVPATH mKernelDevicePath |
Definition at line 41 of file X86QemuLoadImageLib.c.