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