[edk2-devel] [PATCH 2/2] EmulatorPkg: Record Argc, Argv and Envp in EmuThunk Ppi

Ni, Ray ray.ni at intel.com
Tue Dec 6 09:24:53 UTC 2022


Reviewed-by: Ray Ni <ray.ni at intel.com>

> -----Original Message-----
> From: Liu, Zhiguang <zhiguang.liu at intel.com>
> Sent: Tuesday, December 6, 2022 1:42 PM
> To: devel at edk2.groups.io
> Cc: Liu, Zhiguang <zhiguang.liu at intel.com>; Andrew Fish <afish at apple.com>;
> Ni, Ray <ray.ni at intel.com>
> Subject: [PATCH 2/2] EmulatorPkg: Record Argc, Argv and Envp in EmuThunk
> Ppi
> 
> Record Argc, Argv and Envp in EmuThunk Ppi so that other modules
> can use these fields to change behavior depends on boot parameters
> or environment.
> 
> Cc: Andrew Fish <afish at apple.com>
> Cc: Ray Ni <ray.ni at intel.com>
> Signed-off-by: Zhiguang Liu <zhiguang.liu at intel.com>
> ---
>  EmulatorPkg/Include/Ppi/EmuThunk.h | 3 +++
>  EmulatorPkg/Unix/Host/Host.c       | 3 +++
>  EmulatorPkg/Win/Host/WinHost.c     | 3 +++
>  3 files changed, 9 insertions(+)
> 
> diff --git a/EmulatorPkg/Include/Ppi/EmuThunk.h
> b/EmulatorPkg/Include/Ppi/EmuThunk.h
> index cf29cf824c..c78ad692ed 100644
> --- a/EmulatorPkg/Include/Ppi/EmuThunk.h
> +++ b/EmulatorPkg/Include/Ppi/EmuThunk.h
> @@ -107,6 +107,9 @@ typedef struct {
>    EMU_PEI_AUTOSCAN           MemoryAutoScan;
>    EMU_PEI_FD_INFORMATION     FirmwareDevices;
>    EMU_PEI_THUNK_INTERFACE    Thunk;
> +  INTN                       Argc;
> +  CHAR8                      **Argv;
> +  CHAR8                      **Envp;
>    UINTN                      PersistentMemorySize;
>    UINT8                      PersistentMemory[0];
>  } EMU_THUNK_PPI;
> diff --git a/EmulatorPkg/Unix/Host/Host.c b/EmulatorPkg/Unix/Host/Host.c
> index 8d0be5b54b..1f29dd00a3 100644
> --- a/EmulatorPkg/Unix/Host/Host.c
> +++ b/EmulatorPkg/Unix/Host/Host.c
> @@ -145,6 +145,9 @@ main (
>    }
> 
>    CopyMem (SecEmuThunkPpi, &mSecEmuThunkPpi, sizeof
> (EMU_THUNK_PPI));
> +  SecEmuThunkPpi->Argc                 = Argc;
> +  SecEmuThunkPpi->Argv                 = Argv;
> +  SecEmuThunkPpi->Envp                 = Envp;
>    SecEmuThunkPpi->PersistentMemorySize = FixedPcdGet32
> (PcdPersistentMemorySize);
>    AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, &gEmuThunkPpiGuid,
> SecEmuThunkPpi);
> 
> diff --git a/EmulatorPkg/Win/Host/WinHost.c
> b/EmulatorPkg/Win/Host/WinHost.c
> index 3b2fde297d..f639ba3b1b 100644
> --- a/EmulatorPkg/Win/Host/WinHost.c
> +++ b/EmulatorPkg/Win/Host/WinHost.c
> @@ -485,6 +485,9 @@ Returns:
>    }
> 
>    CopyMem (SecEmuThunkPpi, &mSecEmuThunkPpi, sizeof
> (EMU_THUNK_PPI));
> +  SecEmuThunkPpi->Argc                 = Argc;
> +  SecEmuThunkPpi->Argv                 = Argv;
> +  SecEmuThunkPpi->Envp                 = Envp;
>    SecEmuThunkPpi->PersistentMemorySize = FixedPcdGet32
> (PcdPersistentMemorySize);
>    AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, &gEmuThunkPpiGuid,
> SecEmuThunkPpi);
>    AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, &gEfiPeiReset2PpiGuid,
> &mEmuReset2Ppi);
> --
> 2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97015): https://edk2.groups.io/g/devel/message/97015
Mute This Topic: https://groups.io/mt/95488053/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list