On 10/20/12 00:38, Jordan Justen wrote:
> Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com>
> ---
>  OvmfPkg/Include/Library/LoadLinuxLib.h |  208 
> ++++++++++++++++++++++++++++++++
>  OvmfPkg/OvmfPkg.dec                    |    4 +
>  2 files changed, 212 insertions(+)
>  create mode 100644 OvmfPkg/Include/Library/LoadLinuxLib.h

Some comments seem to be outdated (haven't looked at later patches yet):


> +/**
> +  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,out] KernelSize - The kernel size on disk.

KernelSize is "in" only.

> +
> +  @retval    0                An error occured
> +  @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] KernelSetup - The kernel setup image
> +  @param[in] Initrd - The kernel initial root disk
> +  @param[in] CommandLine - The kernel command line

The last two params don't exist (you probably moved them to separate
setup functions).

> +
> +  @retval    EFI_NOT_FOUND - The Linux kernel was not found
> +  @retval    EFI_UNSUPPORTED - The Linux kernel version is not supported
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +LoadLinux (
> +  IN VOID      *Kernel,
> +  IN VOID      *KernelSetup
> +  );
> +

> +
> +/**
> +  Loads and boots UEFI Linux.
> +
> +  Note: If successful, then this routine will not return
> +
> +  @param[in] BzImage - The main kernel image
> +  @param[in] BzImageSize - The main kernel image size
> +  @param[in] Initrd - The initial root disk image
> +  @param[in] InitrdSize - The initial root disk image size
> +  @param[in] CommandLine - The kernel command line

Last three params don't exist here.

> +
> +  @retval    EFI_NOT_FOUND - The Linux kernel was not found
> +  @retval    EFI_UNSUPPORTED - The Linux kernel version is not supported
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +LoadLinuxBzImage (
> +  IN VOID      *BzImage,
> +  IN UINTN     BzImageSize
> +  );
> +

> +/**
> +  Allocates pages for the kernel.
> +
> +  @param[in]     Pages - The number of pages. (It is recommended to use the
> +                         size returned from LoadLinuxGetKernelSize.)

KernelSetup undocumented

> +
> +  @retval    NULL - Unable to allocate pages
> +  @retval    !NULL - The address of the pages allocated
> +
> +**/
> +VOID*
> +EFIAPI
> +LoadLinuxAllocateKernelPages (
> +  IN VOID                   *KernelSetup,
> +  IN UINTN                  Pages
> +  );


> +
> +/**
> +  Sets the kernel command line parameter within the setup image.
> +
> +  @param[in]     KernelSetup - The kernel setup image

(I'd guess "in,out", but that's just a guess indeed.)

> +  @param[in]     CommandLine - The kernel command line
> +
> +  @retval    EFI_SUCCESS - The Linux kernel setup is valid and supported
> +  @retval    EFI_UNSUPPORTED - The Linux kernel is not supported
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +LoadLinuxSetCommandLine (
> +  IN VOID        *KernelSetup,
> +  IN CHAR8       *CommandLine
> +  );


> +/**
> +  Sets the kernel command line parameter within the setup image.
> +
> +  @param[in]     KernelSetup - The kernel setup image
> +  @param[in]     Initrd - The initial root disk image

(KernelSetup in/out?, and) InitrdSize undocumented.

> +
> +  @retval    EFI_SUCCESS - The Linux kernel setup is valid and supported
> +  @retval    EFI_UNSUPPORTED - The Linux kernel is not supported
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +LoadLinuxSetInitrd (
> +  IN VOID        *KernelSetup,
> +  IN VOID        *Initrd,
> +  IN UINTN       InitrdSize
> +  );
> +
> +
> +#endif
> +
> diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec
> index 73db6af..d874f0c 100644
> --- a/OvmfPkg/OvmfPkg.dec
> +++ b/OvmfPkg/OvmfPkg.dec
> @@ -23,6 +23,10 @@
>    Include
>  
>  [LibraryClasses]
> +  ##  @libraryclass  Loads and boots a Linux kernel image
> +  #
> +  LoadLinuxLib|Include/Library/LoadLinuxLib.h
> +
>    ##  @libraryclass  Save and restore variables using a file
>    #
>    NvVarsFileLib|Include/Library/NvVarsFileLib.h

Sorry for nitpicking, I don't personally believe these are
non-intuitive, but the coding style may require them.

Laszlo

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to