[edk2-devel] [PATCH 1/2] MdePkg: Define structures for Resizable BAR Capability

Heng Luo heng.luo at intel.com
Tue Dec 29 01:55:44 UTC 2020


Hi Liming,
Ray and I have evaluated the impact, we think only UefiShellDebug1CommandsLib/Pci.c uses this structure, I have change  this file in this patch, we think it doesn't impact Edk2 and Edk2Platforms.

Thanks,
Heng

> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of
> gaoliming
> Sent: Tuesday, December 29, 2020 9:46 AM
> To: devel at edk2.groups.io; Luo, Heng <heng.luo at intel.com>
> Cc: Ni, Ray <ray.ni at intel.com>; Wu, Hao A <hao.a.wu at intel.com>
> Subject: 回复: [edk2-devel] [PATCH 1/2] MdePkg: Define structures for
> Resizable BAR Capability
> 
> Heng:
>   This is the incompatible change. Have you evaluated its impact in Edk2 and
> Edk2Platforms?
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: bounce+27952+69477+4905953+8761045 at groups.io
> > <bounce+27952+69477+4905953+8761045 at groups.io> 代表 Heng Luo
> > 发送时间: 2020年12月28日 16:26
> > 收件人: devel at edk2.groups.io
> > 抄送: Ray Ni <ray.ni at intel.com>; Hao A Wu <hao.a.wu at intel.com>
> > 主题: [edk2-devel] [PATCH 1/2] MdePkg: Define structures for Resizable
> > BAR Capability
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3138
> >
> > Define structures for Resizable BAR Capability in
> > MdePkg/Include/IndustryStandard/PciExpress21.h,
> > Change ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
> > to use new structures.
> >
> > Cc: Ray Ni <ray.ni at intel.com>
> > Cc: Hao A Wu <hao.a.wu at intel.com>
> > Signed-off-by: Heng Luo <heng.luo at intel.com>
> > ---
> >  MdePkg/Include/IndustryStandard/PciExpress21.h    | 30
> > +++++++++++++++++++++++++-----
> >  ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c |  6 +++---
> >  2 files changed, 28 insertions(+), 8 deletions(-)
> >
> > diff --git a/MdePkg/Include/IndustryStandard/PciExpress21.h
> > b/MdePkg/Include/IndustryStandard/PciExpress21.h
> > index 2c07cb560e..b7629444eb 100644
> > --- a/MdePkg/Include/IndustryStandard/PciExpress21.h
> > +++ b/MdePkg/Include/IndustryStandard/PciExpress21.h
> > @@ -1,7 +1,7 @@
> >  /** @file
> >
> >    Support for the latest PCI standard.
> >
> >
> >
> > -  Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> >
> > +  Copyright (c) 2006 - 2020, Intel Corporation. All rights
> > + reserved.<BR>
> >
> >    (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> >
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >
> >
> > @@ -632,10 +632,30 @@ typedef struct {  #define
> > PCI_EXPRESS_EXTENDED_CAPABILITY_RESIZABLE_BAR_ID
> > 0x0015
> >
> >  #define PCI_EXPRESS_EXTENDED_CAPABILITY_RESIZABLE_BAR_VER1  0x1
> >
> >
> >
> > +typedef union {
> >
> > +  struct {
> >
> > +    UINT32 Reserved:4;
> >
> > +    UINT32 BarSizeCapability:28;
> >
> > +  } Bits;
> >
> > +  UINT32   Uint32;
> >
> > +} PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CAPABILITY;
> >
> > +
> >
> > +
> >
> > +typedef union {
> >
> > +  struct {
> >
> > +    UINT32 BarIndex:3;
> >
> > +    UINT32 Reserved:2;
> >
> > +    UINT32 ResizableBarNumber:3;
> >
> > +    UINT32 BarSize:6;
> >
> > +    UINT32 Reserved2:2;
> >
> > +    UINT32 BarSizeCapability:16;
> >
> > +  } Bits;
> >
> > +  UINT32   Uint32;
> >
> > +} PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL;
> >
> > +
> >
> >  typedef struct {
> >
> > -  UINT32
> > ResizableBarCapability;
> >
> > -  UINT16
> > ResizableBarControl;
> >
> > -  UINT16
> > Reserved;
> >
> > +  PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CAPABILITY
> > ResizableBarCapability;
> >
> > +  PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_CONTROL
> > ResizableBarControl;
> >
> >  } PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY;
> >
> >
> >
> >  typedef struct {
> >
> > @@ -643,7 +663,7 @@ typedef struct {
> >    PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR_ENTRY
> > Capability[1];
> >
> >  } PCI_EXPRESS_EXTENDED_CAPABILITIES_RESIZABLE_BAR;
> >
> >
> >
> > -#define GET_NUMBER_RESIZABLE_BARS(x)
> > (((x->Capability[0].ResizableBarControl) & 0xE0) >> 5)
> >
> > +#define GET_NUMBER_RESIZABLE_BARS(x)
> > (x->Capability[0].ResizableBarControl.Bits.ResizableBarNumber)
> >
> >
> >
> >  #define PCI_EXPRESS_EXTENDED_CAPABILITY_ARI_CAPABILITY_ID
> > 0x000E
> >
> >  #define PCI_EXPRESS_EXTENDED_CAPABILITY_ARI_CAPABILITY_VER1  0x1
> >
> > diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
> > b/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
> > index 3e138188ce..5077d56fed 100644
> > --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
> > +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/Pci.c
> > @@ -1,7 +1,7 @@
> >  /** @file
> >
> >    Main file for Pci shell Debug1 function.
> >
> >
> >
> > -  Copyright (c) 2005 - 2019, Intel Corporation. All rights
> > reserved.<BR>
> >
> > +  Copyright (c) 2005 - 2020, Intel Corporation. All rights
> > + reserved.<BR>
> >
> >    (C) Copyright 2013-2015 Hewlett-Packard Development Company,
> > L.P.<BR>
> >
> >    (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
> >
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > @@ -5534,8 +5534,8 @@
> > PrintInterpretedExtendedCompatibilityResizeableBar (
> >        STRING_TOKEN (STR_PCI_EXT_CAP_RESIZE_BAR),
> >
> >        gShellDebug1HiiHandle,
> >
> >        ItemCount+1,
> >
> > -      Header->Capability[ItemCount].ResizableBarCapability,
> >
> > -      Header->Capability[ItemCount].ResizableBarControl
> >
> > +      Header->Capability[ItemCount].ResizableBarCapability.Uint32,
> >
> > +      Header->Capability[ItemCount].ResizableBarControl.Uint32
> >
> >        );
> >
> >    }
> >
> >
> >
> > --
> > 2.24.0.windows.2
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#69477):
> > https://edk2.groups.io/g/devel/message/69477
> > Mute This Topic: https://groups.io/mt/79265864/4905953
> > Group Owner: devel+owner at edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub
> > [gaoliming at byosoft.com.cn]
> > -=-=-=-=-=-=
> >
> 
> 
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#69493): https://edk2.groups.io/g/devel/message/69493
Mute This Topic: https://groups.io/mt/79283157/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