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

2022-12-06 Thread Ni, Ray
Reviewed-by: Ray Ni 

> -Original Message-
> From: Liu, Zhiguang 
> Sent: Tuesday, December 6, 2022 1:42 PM
> To: devel@edk2.groups.io
> Cc: Liu, Zhiguang ; Andrew Fish ;
> Ni, Ray 
> 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 
> Cc: Ray Ni 
> Signed-off-by: Zhiguang Liu 
> ---
>  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_INTERFACEThunk;
> +  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, , sizeof
> (EMU_THUNK_PPI));
> +  SecEmuThunkPpi->Argc = Argc;
> +  SecEmuThunkPpi->Argv = Argv;
> +  SecEmuThunkPpi->Envp = Envp;
>SecEmuThunkPpi->PersistentMemorySize = FixedPcdGet32
> (PcdPersistentMemorySize);
>AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, ,
> 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, , sizeof
> (EMU_THUNK_PPI));
> +  SecEmuThunkPpi->Argc = Argc;
> +  SecEmuThunkPpi->Argv = Argv;
> +  SecEmuThunkPpi->Envp = Envp;
>SecEmuThunkPpi->PersistentMemorySize = FixedPcdGet32
> (PcdPersistentMemorySize);
>AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, ,
> SecEmuThunkPpi);
>AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, ,
> );
> --
> 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/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-




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

2022-12-05 Thread Zhiguang Liu
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 
Cc: Ray Ni 
Signed-off-by: Zhiguang Liu 
---
 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_INTERFACEThunk;
+  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, , sizeof (EMU_THUNK_PPI));
+  SecEmuThunkPpi->Argc = Argc;
+  SecEmuThunkPpi->Argv = Argv;
+  SecEmuThunkPpi->Envp = Envp;
   SecEmuThunkPpi->PersistentMemorySize = FixedPcdGet32 
(PcdPersistentMemorySize);
   AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, , 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, , sizeof (EMU_THUNK_PPI));
+  SecEmuThunkPpi->Argc = Argc;
+  SecEmuThunkPpi->Argv = Argv;
+  SecEmuThunkPpi->Envp = Envp;
   SecEmuThunkPpi->PersistentMemorySize = FixedPcdGet32 
(PcdPersistentMemorySize);
   AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, , SecEmuThunkPpi);
   AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, , 
);
-- 
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97010): https://edk2.groups.io/g/devel/message/97010
Mute This Topic: https://groups.io/mt/95488053/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-