TianoCore EDK2 master
|
#include "LoadLinuxLib.h"
Go to the source code of this file.
Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Linux.c.
STATIC EFI_STATUS EFIAPI BasicKernelSetupCheck | ( | IN VOID * | KernelSetup | ) |
A simple check of the kernel setup image
An assumption is made that the size of the data is at least the size of struct boot_params.
[in] | KernelSetup | - The kernel setup image |
EFI_SUCCESS | - The kernel setup looks valid and supported |
EFI_INVALID_PARAMETER | - KernelSetup was NULL |
EFI_UNSUPPORTED | - The kernel setup is not valid or supported |
STATIC VOID FindBits | ( | unsigned long | Mask, |
UINT8 * | Pos, | ||
UINT8 * | Size | ||
) |
EFI_STATUS EFIAPI LoadLinux | ( | IN VOID * | Kernel, |
IN OUT VOID * | KernelSetup | ||
) |
Loads and boots UEFI Linux.
Note: If successful, then this routine will not return
[in] | Kernel | - The main kernel image |
[in,out] | KernelSetup | - The kernel setup image |
EFI_NOT_FOUND | - The Linux kernel was not found |
EFI_INVALID_PARAMETER | - Kernel or KernelSetup was NULL |
EFI_UNSUPPORTED | - The Linux kernel version is not supported |
Allocates pages for the kernel.
[in] | KernelSetup | - The kernel setup image |
[in] | Pages | - The number of pages. (It is recommended to use the size returned from LoadLinuxGetKernelSize.) |
NULL | - Unable to allocate pages |
!NULL | - The address of the pages allocated |
EFI_STATUS EFIAPI LoadLinuxCheckKernelSetup | ( | IN VOID * | KernelSetup, |
IN UINTN | KernelSetupSize | ||
) |
Verifies that the kernel setup image is valid and supported. The kernel setup image should be checked before using other library routines which take the kernel setup as an input.
[in] | KernelSetup | - The kernel setup image |
[in] | KernelSetupSize | - The kernel setup size |
EFI_SUCCESS | - The Linux kernel setup is valid and supported |
EFI_INVALID_PARAMETER | - KernelSetup was NULL |
EFI_UNSUPPORTED | - The Linux kernel is not supported |
Gets the initial runtime size of the Linux kernel image by examining the kernel setup image.
[in] | KernelSetup | - The kernel setup image |
[in] | KernelSize | - The kernel size on disk. |
0 | An error occurred |
!0 | The initial size required by the kernel to begin execution. |
EFI_STATUS EFIAPI LoadLinuxInitializeKernelSetup | ( | IN VOID * | KernelSetup | ) |
Clears the uninitialised space before and after the struct setup_header in the kernel setup image. The kernel requires that these be zeroed unless explicitly initialised, so this function should be called after the setup_header has been copied in from a bzImage, before setting up anything else.
[in] | KernelSetup | - The kernel setup image |
EFI_SUCCESS | - The Linux kernel setup was successfully initialized |
EFI_INVALID_PARAMETER | - KernelSetup was NULL |
EFI_UNSUPPORTED | - The Linux kernel is not supported |
EFI_STATUS EFIAPI LoadLinuxSetCommandLine | ( | IN OUT VOID * | KernelSetup, |
IN CHAR8 * | CommandLine | ||
) |
Sets the kernel command line parameter within the setup image.
[in,out] | KernelSetup | - The kernel setup image |
[in] | CommandLine | - The kernel command line |
EFI_SUCCESS | - The Linux kernel setup is valid and supported |
EFI_INVALID_PARAMETER | - KernelSetup was NULL |
EFI_UNSUPPORTED | - The Linux kernel is not supported |
EFI_STATUS EFIAPI LoadLinuxSetInitrd | ( | IN OUT VOID * | KernelSetup, |
IN VOID * | Initrd, | ||
IN UINTN | InitrdSize | ||
) |
Sets the kernel initial ram disk pointer within the setup image.
[in,out] | KernelSetup | - The kernel setup image |
[in] | Initrd | - Pointer to the initial ram disk |
[in] | InitrdSize | - The initial ram disk image size |
EFI_SUCCESS | - The Linux kernel setup is valid and supported |
EFI_INVALID_PARAMETER | - KernelSetup was NULL |
EFI_UNSUPPORTED | - The Linux kernel is not supported |
STATIC EFI_STATUS SetupGraphics | ( | IN OUT struct boot_params * | Bp | ) |
STATIC EFI_STATUS SetupGraphicsFromGop | ( | struct screen_info * | Si, |
EFI_GRAPHICS_OUTPUT_PROTOCOL * | Gop | ||
) |
STATIC EFI_STATUS SetupLinuxBootParams | ( | IN OUT struct boot_params * | Bp | ) |