diff options
author | Liu, Zhiguang <Zhiguang.Liu@intel.com> | 2022-12-06 13:41:36 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-12-08 10:44:20 +0000 |
commit | 8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274 (patch) | |
tree | b43a6e3d3f484b91e34d2c8f465489541ccc821c /EmulatorPkg | |
parent | 2c284027b23ca63cc459411df9d1fcbfc47a5126 (diff) | |
download | edk2-8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274.zip edk2-8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274.tar.gz edk2-8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274.tar.bz2 |
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@apple.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
Diffstat (limited to 'EmulatorPkg')
-rw-r--r-- | EmulatorPkg/Include/Ppi/EmuThunk.h | 3 | ||||
-rw-r--r-- | EmulatorPkg/Unix/Host/Host.c | 3 | ||||
-rw-r--r-- | EmulatorPkg/Win/Host/WinHost.c | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/EmulatorPkg/Include/Ppi/EmuThunk.h b/EmulatorPkg/Include/Ppi/EmuThunk.h index cf29cf8..c78ad69 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 8d0be5b..1f29dd0 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 19199c6..193a947 100644 --- a/EmulatorPkg/Win/Host/WinHost.c +++ b/EmulatorPkg/Win/Host/WinHost.c @@ -499,6 +499,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);
|