Revert "OvmfPkg/QemuKernelLoaderFsDxe: don't expose kernel command line"
This reverts commit efc52d67e1.
Manually fixed conflicts in:
  OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
Note that besides re-exposing the kernel command line as a file in the
synthetic filesystem, we also revert back to AllocatePool instead of
AllocatePages.
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Tobin Feldman-Fitzthum <tobin@linux.ibm.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457
Signed-off-by: Dov Murik <dovmurik@linux.ibm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20210628105110.379951-4-dovmurik@linux.ibm.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
			
			
This commit is contained in:
		| @@ -33,6 +33,7 @@ | ||||
| typedef enum { | ||||
|   KernelBlobTypeKernel, | ||||
|   KernelBlobTypeInitrd, | ||||
|   KernelBlobTypeCommandLine, | ||||
|   KernelBlobTypeMax | ||||
| } KERNEL_BLOB_TYPE; | ||||
|  | ||||
| @@ -59,6 +60,11 @@ STATIC KERNEL_BLOB mKernelBlob[KernelBlobTypeMax] = { | ||||
|     { | ||||
|       { QemuFwCfgItemInitrdSize,      QemuFwCfgItemInitrdData,      }, | ||||
|     } | ||||
|   }, { | ||||
|     L"cmdline", | ||||
|     { | ||||
|       { QemuFwCfgItemCommandLineSize, QemuFwCfgItemCommandLineData, }, | ||||
|     } | ||||
|   } | ||||
| }; | ||||
|  | ||||
| @@ -948,7 +954,7 @@ FetchBlob ( | ||||
|   // | ||||
|   // Read blob. | ||||
|   // | ||||
|   Blob->Data = AllocatePages (EFI_SIZE_TO_PAGES ((UINTN)Blob->Size)); | ||||
|   Blob->Data = AllocatePool (Blob->Size); | ||||
|   if (Blob->Data == NULL) { | ||||
|     DEBUG ((DEBUG_ERROR, "%a: failed to allocate %Ld bytes for \"%s\"\n", | ||||
|       __FUNCTION__, (INT64)Blob->Size, Blob->Name)); | ||||
| @@ -1083,8 +1089,7 @@ FreeBlobs: | ||||
|   while (BlobType > 0) { | ||||
|     CurrentBlob = &mKernelBlob[--BlobType]; | ||||
|     if (CurrentBlob->Data != NULL) { | ||||
|       FreePages (CurrentBlob->Data, | ||||
|         EFI_SIZE_TO_PAGES ((UINTN)CurrentBlob->Size)); | ||||
|       FreePool (CurrentBlob->Data); | ||||
|       CurrentBlob->Size = 0; | ||||
|       CurrentBlob->Data = NULL; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user