REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the OvmfPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Andrew Fish <afish@apple.com>
		
			
				
	
	
		
			195 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			195 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Load/boot UEFI Linux.
 | 
						|
 | 
						|
  Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __LOAD_LINUX_LIB__
 | 
						|
#define __LOAD_LINUX_LIB__
 | 
						|
 | 
						|
/**
 | 
						|
  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.
 | 
						|
 | 
						|
  @param[in]     KernelSetup - The kernel setup image
 | 
						|
  @param[in]     KernelSetupSize - The kernel setup size
 | 
						|
 | 
						|
  @retval    EFI_SUCCESS - The Linux kernel setup is valid and supported
 | 
						|
  @retval    EFI_INVALID_PARAMETER - KernelSetup was NULL
 | 
						|
  @retval    EFI_UNSUPPORTED - The Linux kernel is not supported
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
LoadLinuxCheckKernelSetup (
 | 
						|
  IN VOID   *KernelSetup,
 | 
						|
  IN UINTN  KernelSetupSize
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Gets the initial runtime size of the Linux kernel image by examining
 | 
						|
  the kernel setup image.
 | 
						|
 | 
						|
  @param[in]     KernelSetup - The kernel setup image
 | 
						|
  @param[in]     KernelSize - The kernel size on disk.
 | 
						|
 | 
						|
  @retval    0                An error occurred
 | 
						|
  @retval    !0               The initial size required by the kernel to
 | 
						|
                              begin execution.
 | 
						|
 | 
						|
**/
 | 
						|
UINTN
 | 
						|
EFIAPI
 | 
						|
LoadLinuxGetKernelSize (
 | 
						|
  IN VOID   *KernelSetup,
 | 
						|
  IN UINTN  KernelSize
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Loads and boots UEFI Linux.
 | 
						|
 | 
						|
  Note: If successful, then this routine will not return
 | 
						|
 | 
						|
  @param[in]     Kernel - The main kernel image
 | 
						|
  @param[in,out] KernelSetup - The kernel setup image
 | 
						|
 | 
						|
  @retval    EFI_NOT_FOUND - The Linux kernel was not found
 | 
						|
  @retval    EFI_INVALID_PARAMETER - Kernel or KernelSetup was NULL
 | 
						|
  @retval    EFI_UNSUPPORTED - The Linux kernel version is not supported
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
LoadLinux (
 | 
						|
  IN VOID      *Kernel,
 | 
						|
  IN OUT VOID  *KernelSetup
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Allocates pages for the kernel setup image.
 | 
						|
 | 
						|
  @param[in]     Pages - The number of pages
 | 
						|
 | 
						|
  @retval    NULL - Unable to allocate pages
 | 
						|
  @retval    !NULL - The address of the pages allocated
 | 
						|
 | 
						|
**/
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
LoadLinuxAllocateKernelSetupPages (
 | 
						|
  IN UINTN  Pages
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  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.
 | 
						|
 | 
						|
  @param[in]     KernelSetup - The kernel setup image
 | 
						|
 | 
						|
  @retval    EFI_SUCCESS - The Linux kernel setup was successfully initialized
 | 
						|
  @retval    EFI_INVALID_PARAMETER - KernelSetup was NULL
 | 
						|
  @retval    EFI_UNSUPPORTED - The Linux kernel is not supported
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
LoadLinuxInitializeKernelSetup (
 | 
						|
  IN VOID  *KernelSetup
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Allocates pages for the kernel.
 | 
						|
 | 
						|
  @param[in]     KernelSetup - The kernel setup image
 | 
						|
  @param[in]     Pages - The number of pages. (It is recommended to use the
 | 
						|
                         size returned from LoadLinuxGetKernelSize.)
 | 
						|
 | 
						|
  @retval    NULL - Unable to allocate pages
 | 
						|
  @retval    !NULL - The address of the pages allocated
 | 
						|
 | 
						|
**/
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
LoadLinuxAllocateKernelPages (
 | 
						|
  IN VOID   *KernelSetup,
 | 
						|
  IN UINTN  Pages
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Allocates pages for the kernel command line.
 | 
						|
 | 
						|
  @param[in]     Pages - The number of pages.
 | 
						|
 | 
						|
  @retval    NULL - Unable to allocate pages
 | 
						|
  @retval    !NULL - The address of the pages allocated
 | 
						|
 | 
						|
**/
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
LoadLinuxAllocateCommandLinePages (
 | 
						|
  IN UINTN  Pages
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Allocates pages for the initrd image.
 | 
						|
 | 
						|
  @param[in,out] KernelSetup - The kernel setup image
 | 
						|
  @param[in]     Pages - The number of pages.
 | 
						|
 | 
						|
  @retval    NULL - Unable to allocate pages
 | 
						|
  @retval    !NULL - The address of the pages allocated
 | 
						|
 | 
						|
**/
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
LoadLinuxAllocateInitrdPages (
 | 
						|
  IN VOID   *KernelSetup,
 | 
						|
  IN UINTN  Pages
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Sets the kernel command line parameter within the setup image.
 | 
						|
 | 
						|
  @param[in,out] KernelSetup - The kernel setup image
 | 
						|
  @param[in]     CommandLine - The kernel command line
 | 
						|
 | 
						|
  @retval    EFI_SUCCESS - The Linux kernel setup is valid and supported
 | 
						|
  @retval    EFI_INVALID_PARAMETER - KernelSetup was NULL
 | 
						|
  @retval    EFI_UNSUPPORTED - The Linux kernel is not supported
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
LoadLinuxSetCommandLine (
 | 
						|
  IN OUT VOID  *KernelSetup,
 | 
						|
  IN CHAR8     *CommandLine
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Sets the kernel initial ram disk pointer within the setup image.
 | 
						|
 | 
						|
  @param[in,out] KernelSetup - The kernel setup image
 | 
						|
  @param[in]     Initrd - Pointer to the initial ram disk
 | 
						|
  @param[in]     InitrdSize - The initial ram disk image size
 | 
						|
 | 
						|
  @retval    EFI_SUCCESS - The Linux kernel setup is valid and supported
 | 
						|
  @retval    EFI_INVALID_PARAMETER - KernelSetup was NULL
 | 
						|
  @retval    EFI_UNSUPPORTED - The Linux kernel is not supported
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
LoadLinuxSetInitrd (
 | 
						|
  IN OUT VOID  *KernelSetup,
 | 
						|
  IN VOID      *Initrd,
 | 
						|
  IN UINTN     InitrdSize
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |