[edk2-devel] [PATCH] EmulatorPkg/Win: support running multiple WinHost.exe

Ni, Ray posted 1 patch 4 years, 10 months ago
Failed in applying to current master (apply log)
EmulatorPkg/Win/Host/WinHost.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[edk2-devel] [PATCH] EmulatorPkg/Win: support running multiple WinHost.exe
Posted by Ni, Ray 4 years, 10 months ago
When running 2nd instance of WinHost.exe, below error is printed:
ERROR : Can not open Firmware Device File ../FV/FV_RECOVERY.fd...

The root cause is "RECOVERY.FD" is exclusively opened by the first
instance of WinHost.exe.

The patch changes to open "RECOVERY.FD" in shared way so that
2nd+ instance of WinHost.exe can still run successfully.

Signed-off-by: Ray Ni <ray.ni@intel.com>

Signed-off-by: Ray Ni <ray.ni@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
---
 EmulatorPkg/Win/Host/WinHost.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/EmulatorPkg/Win/Host/WinHost.c b/EmulatorPkg/Win/Host/WinHost.c
index bd7662683a..5a354d084e 100644
--- a/EmulatorPkg/Win/Host/WinHost.c
+++ b/EmulatorPkg/Win/Host/WinHost.c
@@ -269,7 +269,7 @@ Returns:
     NtFileHandle = CreateFile (
                      FileName,
                      GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE,
-                     FILE_SHARE_READ,
+                     FILE_SHARE_READ | FILE_SHARE_WRITE,
                      NULL,
                      CreationDisposition,
                      FILE_ATTRIBUTE_NORMAL,
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42422): https://edk2.groups.io/g/devel/message/42422
Mute This Topic: https://groups.io/mt/32061781/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] EmulatorPkg/Win: support running multiple WinHost.exe
Posted by Yao, Jiewen 4 years, 10 months ago
Hi
It is good to support 2nd instance.

But the risk is that 2 instances may access to the same variable region.

It might cause unpredictable behavior in the variable driver later.

Do we have investigate that impact?

Thank you
Yao Jiewen


> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Ni,
> Ray
> Sent: Friday, June 14, 2019 4:23 PM
> To: devel@edk2.groups.io
> Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Andrew Fish
> <afish@apple.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Wu, Hao A
> <hao.a.wu@intel.com>
> Subject: [edk2-devel] [PATCH] EmulatorPkg/Win: support running multiple
> WinHost.exe
> 
> When running 2nd instance of WinHost.exe, below error is printed:
> ERROR : Can not open Firmware Device File ../FV/FV_RECOVERY.fd...
> 
> The root cause is "RECOVERY.FD" is exclusively opened by the first
> instance of WinHost.exe.
> 
> The patch changes to open "RECOVERY.FD" in shared way so that
> 2nd+ instance of WinHost.exe can still run successfully.
> 
> Signed-off-by: Ray Ni <ray.ni@intel.com>
> 
> Signed-off-by: Ray Ni <ray.ni@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> ---
>  EmulatorPkg/Win/Host/WinHost.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/EmulatorPkg/Win/Host/WinHost.c
> b/EmulatorPkg/Win/Host/WinHost.c
> index bd7662683a..5a354d084e 100644
> --- a/EmulatorPkg/Win/Host/WinHost.c
> +++ b/EmulatorPkg/Win/Host/WinHost.c
> @@ -269,7 +269,7 @@ Returns:
>      NtFileHandle = CreateFile (
>                       FileName,
>                       GENERIC_READ | GENERIC_WRITE |
> GENERIC_EXECUTE,
> -                     FILE_SHARE_READ,
> +                     FILE_SHARE_READ | FILE_SHARE_WRITE,
>                       NULL,
>                       CreationDisposition,
>                       FILE_ATTRIBUTE_NORMAL,
> --
> 2.21.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42428): https://edk2.groups.io/g/devel/message/42428
Mute This Topic: https://groups.io/mt/32061781/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] EmulatorPkg/Win: support running multiple WinHost.exe
Posted by Ni, Ray 4 years, 10 months ago
I agree this patch only removes the limitation that blocks running 2nd instance of WinHost.exe.
I will investigate the impact on variable storage part.

> -----Original Message-----
> From: Yao, Jiewen <jiewen.yao@intel.com>
> Sent: Friday, June 14, 2019 4:44 PM
> To: devel@edk2.groups.io; Ni, Ray <ray.ni@intel.com>
> Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Andrew Fish
> <afish@apple.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Wu, Hao A
> <hao.a.wu@intel.com>
> Subject: RE: [edk2-devel] [PATCH] EmulatorPkg/Win: support running
> multiple WinHost.exe
> 
> Hi
> It is good to support 2nd instance.
> 
> But the risk is that 2 instances may access to the same variable region.
> 
> It might cause unpredictable behavior in the variable driver later.
> 
> Do we have investigate that impact?
> 
> Thank you
> Yao Jiewen
> 
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Ni, Ray
> > Sent: Friday, June 14, 2019 4:23 PM
> > To: devel@edk2.groups.io
> > Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Andrew Fish
> > <afish@apple.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Wu, Hao A
> > <hao.a.wu@intel.com>
> > Subject: [edk2-devel] [PATCH] EmulatorPkg/Win: support running
> > multiple WinHost.exe
> >
> > When running 2nd instance of WinHost.exe, below error is printed:
> > ERROR : Can not open Firmware Device File ../FV/FV_RECOVERY.fd...
> >
> > The root cause is "RECOVERY.FD" is exclusively opened by the first
> > instance of WinHost.exe.
> >
> > The patch changes to open "RECOVERY.FD" in shared way so that
> > 2nd+ instance of WinHost.exe can still run successfully.
> >
> > Signed-off-by: Ray Ni <ray.ni@intel.com>
> >
> > Signed-off-by: Ray Ni <ray.ni@intel.com>
> > Cc: Jordan Justen <jordan.l.justen@intel.com>
> > Cc: Andrew Fish <afish@apple.com>
> > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > Cc: Hao A Wu <hao.a.wu@intel.com>
> > ---
> >  EmulatorPkg/Win/Host/WinHost.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/EmulatorPkg/Win/Host/WinHost.c
> > b/EmulatorPkg/Win/Host/WinHost.c index bd7662683a..5a354d084e
> 100644
> > --- a/EmulatorPkg/Win/Host/WinHost.c
> > +++ b/EmulatorPkg/Win/Host/WinHost.c
> > @@ -269,7 +269,7 @@ Returns:
> >      NtFileHandle = CreateFile (
> >                       FileName,
> >                       GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE,
> > -                     FILE_SHARE_READ,
> > +                     FILE_SHARE_READ | FILE_SHARE_WRITE,
> >                       NULL,
> >                       CreationDisposition,
> >                       FILE_ATTRIBUTE_NORMAL,
> > --
> > 2.21.0.windows.1
> >
> >
> > 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42431): https://edk2.groups.io/g/devel/message/42431
Mute This Topic: https://groups.io/mt/32061781/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-