[edk2-devel] [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight

Park, Aiden posted 1 patch 3 years, 3 months ago
Failed in applying to current master (apply log)
MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
[edk2-devel] [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight
Posted by Park, Aiden 3 years, 3 months ago
From: Aiden Park <aiden.park@intel.com>

The ProcessOptionRomLight() assumes that OpRom has already been
processed in the previous full enumeration and updates
AllOpRomProcessed flag to TRUE by default. However, this may not
be applicable with other pre-stage boot firmwares.

This will update AllOpRomProcessed flag properly by checking
PciRomGetImageMapping().

Signed-off-by: Aiden Park <aiden.park@intel.com>
---
 MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
index 1b64924b7b..e8337e865e 100644
--- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
+++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
@@ -1168,12 +1168,7 @@ ProcessOptionRomLight (
       ProcessOptionRomLight (Temp);
     }
 
-    PciRomGetImageMapping (Temp);
-
-    //
-    // The OpRom has already been processed in the first round
-    //
-    Temp->AllOpRomProcessed = TRUE;
+    Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp);
 
     CurrentLink = CurrentLink->ForwardLink;
   }
-- 
2.20.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70257): https://edk2.groups.io/g/devel/message/70257
Mute This Topic: https://groups.io/mt/79658545/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight
Posted by Park, Aiden 3 years, 2 months ago
Hello,

Can you please review this?

> -----Original Message-----
> From: Park, Aiden <aiden.park@intel.com>
> Sent: Wednesday, January 13, 2021 11:01 AM
> To: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>;
> devel@edk2.groups.io
> Cc: Park, Aiden <aiden.park@intel.com>; Ma, Maurice
> <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>
> Subject: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in
> ProcessOptionRomLight
> 
> From: Aiden Park <aiden.park@intel.com>
> 
> The ProcessOptionRomLight() assumes that OpRom has already been processed
> in the previous full enumeration and updates AllOpRomProcessed flag to TRUE
> by default. However, this may not be applicable with other pre-stage boot
> firmwares.
> 
> This will update AllOpRomProcessed flag properly by checking
> PciRomGetImageMapping().
> 
> Signed-off-by: Aiden Park <aiden.park@intel.com>
> ---
>  MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> index 1b64924b7b..e8337e865e 100644
> --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> @@ -1168,12 +1168,7 @@ ProcessOptionRomLight (
>        ProcessOptionRomLight (Temp);
>      }
> 
> -    PciRomGetImageMapping (Temp);
> -
> -    //
> -    // The OpRom has already been processed in the first round
> -    //
> -    Temp->AllOpRomProcessed = TRUE;
> +    Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp);
> 
>      CurrentLink = CurrentLink->ForwardLink;
>    }
> --
> 2.20.1

Best Regards,
Aiden


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70880): https://edk2.groups.io/g/devel/message/70880
Mute This Topic: https://groups.io/mt/79658545/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight
Posted by Ni, Ray 3 years, 2 months ago
Reviewed-by: Ray Ni <ray.ni@intel.com>


> -----Original Message-----
> From: Park, Aiden <aiden.park@intel.com>
> Sent: Friday, January 29, 2021 9:55 AM
> To: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> Cc: Ma, Maurice <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>
> Subject: RE: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight
> 
> Hello,
> 
> Can you please review this?
> 
> > -----Original Message-----
> > From: Park, Aiden <aiden.park@intel.com>
> > Sent: Wednesday, January 13, 2021 11:01 AM
> > To: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>;
> > devel@edk2.groups.io
> > Cc: Park, Aiden <aiden.park@intel.com>; Ma, Maurice
> > <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>
> > Subject: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in
> > ProcessOptionRomLight
> >
> > From: Aiden Park <aiden.park@intel.com>
> >
> > The ProcessOptionRomLight() assumes that OpRom has already been processed
> > in the previous full enumeration and updates AllOpRomProcessed flag to TRUE
> > by default. However, this may not be applicable with other pre-stage boot
> > firmwares.
> >
> > This will update AllOpRomProcessed flag properly by checking
> > PciRomGetImageMapping().
> >
> > Signed-off-by: Aiden Park <aiden.park@intel.com>
> > ---
> >  MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 7 +------
> >  1 file changed, 1 insertion(+), 6 deletions(-)
> >
> > diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > index 1b64924b7b..e8337e865e 100644
> > --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > @@ -1168,12 +1168,7 @@ ProcessOptionRomLight (
> >        ProcessOptionRomLight (Temp);
> >      }
> >
> > -    PciRomGetImageMapping (Temp);
> > -
> > -    //
> > -    // The OpRom has already been processed in the first round
> > -    //
> > -    Temp->AllOpRomProcessed = TRUE;
> > +    Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp);
> >
> >      CurrentLink = CurrentLink->ForwardLink;
> >    }
> > --
> > 2.20.1
> 
> Best Regards,
> Aiden


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70903): https://edk2.groups.io/g/devel/message/70903
Mute This Topic: https://groups.io/mt/79658545/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight
Posted by Wu, Hao A 3 years, 2 months ago
> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: Friday, January 29, 2021 5:01 PM
> To: Park, Aiden <aiden.park@intel.com>; Wu, Hao A <hao.a.wu@intel.com>;
> devel@edk2.groups.io
> Cc: Ma, Maurice <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>
> Subject: RE: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in
> ProcessOptionRomLight
> 
> Reviewed-by: Ray Ni <ray.ni@intel.com>


The patch has been pushed via:
PR - https://github.com/tianocore/edk2/pull/1400
Commit - https://github.com/tianocore/edk2/commit/3f90ac3ec03512e2374cd2968c047a7e856a8965

Best Regards,
Hao Wu


> 
> 
> > -----Original Message-----
> > From: Park, Aiden <aiden.park@intel.com>
> > Sent: Friday, January 29, 2021 9:55 AM
> > To: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>;
> > devel@edk2.groups.io
> > Cc: Ma, Maurice <maurice.ma@intel.com>; Dong, Guo
> <guo.dong@intel.com>
> > Subject: RE: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in
> > ProcessOptionRomLight
> >
> > Hello,
> >
> > Can you please review this?
> >
> > > -----Original Message-----
> > > From: Park, Aiden <aiden.park@intel.com>
> > > Sent: Wednesday, January 13, 2021 11:01 AM
> > > To: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>;
> > > devel@edk2.groups.io
> > > Cc: Park, Aiden <aiden.park@intel.com>; Ma, Maurice
> > > <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>
> > > Subject: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in
> > > ProcessOptionRomLight
> > >
> > > From: Aiden Park <aiden.park@intel.com>
> > >
> > > The ProcessOptionRomLight() assumes that OpRom has already been
> > > processed in the previous full enumeration and updates
> > > AllOpRomProcessed flag to TRUE by default. However, this may not be
> > > applicable with other pre-stage boot firmwares.
> > >
> > > This will update AllOpRomProcessed flag properly by checking
> > > PciRomGetImageMapping().
> > >
> > > Signed-off-by: Aiden Park <aiden.park@intel.com>
> > > ---
> > >  MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 7 +------
> > >  1 file changed, 1 insertion(+), 6 deletions(-)
> > >
> > > diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > index 1b64924b7b..e8337e865e 100644
> > > --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > @@ -1168,12 +1168,7 @@ ProcessOptionRomLight (
> > >        ProcessOptionRomLight (Temp);
> > >      }
> > >
> > > -    PciRomGetImageMapping (Temp);
> > > -
> > > -    //
> > > -    // The OpRom has already been processed in the first round
> > > -    //
> > > -    Temp->AllOpRomProcessed = TRUE;
> > > +    Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp);
> > >
> > >      CurrentLink = CurrentLink->ForwardLink;
> > >    }
> > > --
> > > 2.20.1
> >
> > Best Regards,
> > Aiden


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71051): https://edk2.groups.io/g/devel/message/71051
Mute This Topic: https://groups.io/mt/79658545/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight
Posted by Patrick Rudolph 3 years, 2 months ago
I can confirm that it provides the same fix as my patch "MdeModulePkg:
Fix OptionROM scanning" sent earlier.
Tested on QEMU and Intel CFL board using coreboot as bootloader.

Kind Regards,
Patrick Rudolph

On Fri, Jan 29, 2021 at 10:00 AM Ni, Ray <ray.ni@intel.com> wrote:
>
> Reviewed-by: Ray Ni <ray.ni@intel.com>
>
>
> > -----Original Message-----
> > From: Park, Aiden <aiden.park@intel.com>
> > Sent: Friday, January 29, 2021 9:55 AM
> > To: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> > Cc: Ma, Maurice <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>
> > Subject: RE: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in ProcessOptionRomLight
> >
> > Hello,
> >
> > Can you please review this?
> >
> > > -----Original Message-----
> > > From: Park, Aiden <aiden.park@intel.com>
> > > Sent: Wednesday, January 13, 2021 11:01 AM
> > > To: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>;
> > > devel@edk2.groups.io
> > > Cc: Park, Aiden <aiden.park@intel.com>; Ma, Maurice
> > > <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>
> > > Subject: [PATCH] MdeModulePkg/PciBusDxe: Fix a bug in
> > > ProcessOptionRomLight
> > >
> > > From: Aiden Park <aiden.park@intel.com>
> > >
> > > The ProcessOptionRomLight() assumes that OpRom has already been processed
> > > in the previous full enumeration and updates AllOpRomProcessed flag to TRUE
> > > by default. However, this may not be applicable with other pre-stage boot
> > > firmwares.
> > >
> > > This will update AllOpRomProcessed flag properly by checking
> > > PciRomGetImageMapping().
> > >
> > > Signed-off-by: Aiden Park <aiden.park@intel.com>
> > > ---
> > >  MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 7 +------
> > >  1 file changed, 1 insertion(+), 6 deletions(-)
> > >
> > > diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > index 1b64924b7b..e8337e865e 100644
> > > --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c
> > > @@ -1168,12 +1168,7 @@ ProcessOptionRomLight (
> > >        ProcessOptionRomLight (Temp);
> > >      }
> > >
> > > -    PciRomGetImageMapping (Temp);
> > > -
> > > -    //
> > > -    // The OpRom has already been processed in the first round
> > > -    //
> > > -    Temp->AllOpRomProcessed = TRUE;
> > > +    Temp->AllOpRomProcessed = PciRomGetImageMapping (Temp);
> > >
> > >      CurrentLink = CurrentLink->ForwardLink;
> > >    }
> > > --
> > > 2.20.1
> >
> > Best Regards,
> > Aiden
>
>
> 
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#71007): https://edk2.groups.io/g/devel/message/71007
Mute This Topic: https://groups.io/mt/79658545/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-