public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Gary Lin <glin@suse.com>
Cc: edk2-devel-01 <edk2-devel@ml01.01.org>,
	Ruiyu Ni <ruiyu.ni@intel.com>, Tim He <tim.he@intel.com>,
	Feng Tian <feng.tian@intel.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Eric Dong <eric.dong@intel.com>,
	Cecil Sheng <cecil.sheng@hpe.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Jordan Justen <jordan.l.justen@intel.com>,
	Liming Gao <liming.gao@intel.com>,
	Dandan Bi <dandan.bi@intel.com>, Jiaxin Wu <jiaxin.wu@intel.com>,
	Star Zeng <star.zeng@intel.com>,
	Daryl McDaniel <edk2-lists@mc2research.org>,
	Jaben Carsey <jaben.carsey@intel.com>,
	Siyuan Fu <siyuan.fu@intel.com>, Jeff Fan <jeff.fan@intel.com>,
	Chao Zhang <chao.b.zhang@intel.com>,
	David Wei <david.wei@intel.com>
Subject: Re: [PATCH 00/47] edk2: centralize and adopt ARRAY_SIZE()
Date: Thu, 27 Oct 2016 09:52:15 +0200	[thread overview]
Message-ID: <7ecc4ffa-6021-8364-e6a9-484cfa6e204e@redhat.com> (raw)
In-Reply-To: <20161027044323.e4yvyxtvga3e3u7h@GaryWorkstation>

On 10/27/16 06:43, Gary Lin wrote:
> On Wed, Oct 26, 2016 at 09:04:17PM +0200, Laszlo Ersek wrote:
>> I'm sure most of us have wished at some point that ARRAY_SIZE()
>> had existed in a central header file, like it does in many other
>> open source projects. This series implements that.
>>
>> Patches 01-04 round up the modules that #define ARRAY_SIZE() just
>> for themselves, and wrap their definitions in #ifndef ARRAY_SIZE.
>>
>> Patch 05 defines ARRAY_SIZE() in "MdePkg/Include/Base.h". This
>> flips the previously modified modules to MdePkg's macro definition.
>>
>> Patches 06-09 modify the same set of modules as patches 01-04 do; this
>> time the (now unused) module-local ARRAY_SIZE() macro definitions are
>> eliminated.
>>
>> The rest of the patches (10-47) migrate the edk2 tree to ARRAY_SIZE(),
>> covering the most obvious open-coded ARRAY_SIZE() expressions. These
>> expressions were located and converted with the following shell
>> pipeline:
>>
>>   git ls-files \
>>   | xargs --no-run-if-empty -- \
>>       sed --regexp-extended --in-place \
>>         --expression='s,sizeof \(([a-zA-Z0-9_]+)\) / sizeof \((\*\1|\1\[0\])\),ARRAY_SIZE (\1),g' \
>>         --
> Hi Laszlo,
> 
> I found several missing cases in OvmfPkg:
> 
> Library/PciHostBridgeLib/PciHostBridgeLib.c:
> 
> 421:      ASSERT (Descriptor->ResType <
> 422:              (sizeof (mPciHostBridgeLibAcpiAddressSpaceTypeStr) /
> 423:               sizeof (mPciHostBridgeLibAcpiAddressSpaceTypeStr[0])
> 424:              )
> 425:             );

Well, this is a multi-line one; it's no surprise the SED regexp didn't
match. I only meant the SED command to convert the most obvious,
clear-cut cases.

You would be very much welcome to submit patches that manually convert
(some of) the remaining instances, after I commit this series :)

> 
> --
> VirtioGpuDxe/Gop.c:
> 
> 207:  if (ModeNumber >= sizeof mGopResolutions / sizeof mGopResolutions[0]) {
> 
> 
> 242:  if (ModeNumber >= sizeof mGopResolutions / sizeof mGopResolutions[0]) {

Yes, these didn't match because I only use parentheses in the operand of
the sizeof operator when it is required by the C language standard.
(I.e., for type names.) When writing the SED regexp, I focused on the
pattern (with the technically superfluous parens) that pretty much every
other developer prefers.

> 261:    VgpuGop->GopMode.MaxMode         = (UINT32)(sizeof mGopResolutions /
> 262:                                                sizeof mGopResolutions[0]);
> 

Multi-line :)

> --
> Library/LoadLinuxLib/Linux.c:
> 
> 360:  if (E820EntryCount >= (sizeof (Bp->e820_map) / sizeof (Bp->e820_map[0]))) {
> 

This didn't match because the parenthesized operand is not a simple
identifier, it uses the -> operator inside.

> --
> Csm/CsmSupportLib/LegacyRegion.c:
> 
> 133:  for (Index = 0; Index < (sizeof(mSectionArray) / sizeof (mSectionArray[0])); Index++) {
> 
> 139:  ASSERT (Index < (sizeof(mSectionArray) / sizeof (mSectionArray[0])));
> 
> 144:  for (Index = StartIndex; Index < (sizeof(mSectionArray) / sizeof (mSectionArray[0])); Index++) {
> 
> 180:  ASSERT (Index < (sizeof(mSectionArray) / sizeof (mSectionArray[0])));

These didn't match because there is no space character between the first
"sizeof" operator and its operand.

Converting these would be very valuable, but I didn't want to un-focus
my series with manual conversions. Can you please submit a patch for
these instances (one per module) after I commit this series?

Thank you!
Laszlo

> 
> 
> Cheers,
> 
> Gary Lin
> 
>>
>> This pipeline lists all tracked files with "git". The pathnames are then
>> composed with "xargs" into maximal length "sed" command lines, and those
>> "sed" commands are run.
>>
>> Here the "sed" stream editor filters and modifies all the listed files
>> in place. The extended regular expression replaces the following two
>> patterns:
>>
>>   sizeof (ArrayName) / sizeof (*ArrayName)
>>   sizeof (ArrayName) / sizeof (ArrayName[0])
>>
>> with
>>
>>   ARRAY_SIZE (ArrayName)
>>
>> The regexp uses a backreference in the match, ensuring that the sizeof
>> operator in the dividend and the sizeof operator in the divisor both
>> refer to the same ArrayName. If there are multiple occurrences on the
>> same line, the sed command replaces all of them.
>>
>> I collected the changes into patches manually, and I reviewed them all.
>>
>> I test-built all of the modified packages, repeating the command
>>
>>   build -a X64 -t GCC48 -b DEBUG -p FooPkg/FooPkg.dsc
>>
>> as many times as necessary. Two packages were impossible to build like
>> this: Nt32Pkg and Vlv2TbltDevicePkg, so I couldn't build-test them.
>>
>> I did some light-weight testing with OVMF: boot with Secure Boot
>> enabled, S3 suspend/resume with and without SMM. I also booted
>> ArmVirtQemu once.
>>
>> Repository: https://github.com/lersek/edk2.git
>> Branch:     array_size
>>
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Cc: Cecil Sheng <cecil.sheng@hpe.com>
>> Cc: Chao Zhang <chao.b.zhang@intel.com>
>> Cc: Dandan Bi <dandan.bi@intel.com>
>> Cc: Daryl McDaniel <edk2-lists@mc2research.org>
>> Cc: David Wei <david.wei@intel.com>
>> Cc: Eric Dong <eric.dong@intel.com>
>> Cc: Feng Tian <feng.tian@intel.com>
>> Cc: Gary Lin <glin@suse.com>
>> Cc: Jaben Carsey <jaben.carsey@intel.com>
>> Cc: Jeff Fan <jeff.fan@intel.com>
>> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
>> Cc: Jordan Justen <jordan.l.justen@intel.com>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
>> Cc: Siyuan Fu <siyuan.fu@intel.com>
>> Cc: Star Zeng <star.zeng@intel.com>
>> Cc: Tim He <tim.he@intel.com>
>>
>> Thanks
>> Laszlo
>>
>> Laszlo Ersek (47):
>>   MdeModulePkg/RegularExpressionDxe: guard the definition of ARRAY_SIZE
>>   NetworkPkg/IpsecConfig: guard the definition of ARRAY_SIZE
>>   OvmfPkg/PlatformBootManagerLib: guard the definition of ARRAY_SIZE
>>   OvmfPkg/XenBusDxe: guard the definition of ARRAY_SIZE
>>   MdePkg/Include/Base.h: introduce the ARRAY_SIZE() function-like macro
>>   MdeModulePkg/RegularExpressionDxe: remove module-local ARRAY_SIZE
>>     macro
>>   NetworkPkg/IpsecConfig: remove module-local ARRAY_SIZE macro
>>   OvmfPkg/PlatformBootManagerLib: remove module-local ARRAY_SIZE macro
>>   OvmfPkg/XenBusDxe: remove module-local ARRAY_SIZE macro
>>   ArmVirtPkg/NorFlashQemuLib: rebase to ARRAY_SIZE()
>>   DuetPkg/DuetBdsLib: rebase to ARRAY_SIZE()
>>   EdkCompatibilityPkg/FrameworkHiiOnUefiHiiThunk: rebase to ARRAY_SIZE()
>>   EdkCompatibilityPkg/Sample/Tools: rebase to ARRAY_SIZE()
>>   FatPkg/EnhancedFatDxe: rebase to ARRAY_SIZE()
>>   IntelFrameworkModulePkg/LegacyBootManagerLib: rebase to ARRAY_SIZE()
>>   IntelFrameworkModulePkg/BdsDxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/MemoryProfileInfo: rebase to ARRAY_SIZE()
>>   MdeModulePkg/PciBusDxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/PciHostBridgeDxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/UsbBusDxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/Core/Dxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/Core/PiSmmCore: rebase to ARRAY_SIZE()
>>   MdeModulePkg/BootMaintenanceManagerUiLib: rebase to ARRAY_SIZE()
>>   MdeModulePkg/BootManagerUiLib: rebase to ARRAY_SIZE()
>>   MdeModulePkg/UefiBootManagerLib: rebase to ARRAY_SIZE()
>>   MdeModulePkg/VarCheckHiiLib: rebase to ARRAY_SIZE()
>>   MdeModulePkg/Logo: rebase to ARRAY_SIZE()
>>   MdeModulePkg/BdsDxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/DisplayEngineDxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/EbcDxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/Tcp4Dxe: rebase to ARRAY_SIZE()
>>   MdeModulePkg/Variable/RuntimeDxe: rebase to ARRAY_SIZE()
>>   NetworkPkg/IScsiDxe: rebase to ARRAY_SIZE()
>>   NetworkPkg/TcpDxe: rebase to ARRAY_SIZE()
>>   Nt32Pkg/WinNtSerialIoDxe: rebase to ARRAY_SIZE()
>>   OptionRomPkg/AtapiPassThruDxe: rebase to ARRAY_SIZE()
>>   OvmfPkg/QemuBootOrderLib: rebase to ARRAY_SIZE()
>>   OvmfPkg/QemuVideoDxe: rebase to ARRAY_SIZE()
>>   PerformancePkg/Dp_App: rebase to ARRAY_SIZE()
>>   SecurityPkg/AuthVariableLib: rebase to ARRAY_SIZE()
>>   ShellPkg/UefiDpLib: rebase to ARRAY_SIZE()
>>   ShellPkg/UefiShellLevel2CommandsLib: rebase to ARRAY_SIZE()
>>   Vlv2TbltDevicePkg/FirmwareUpdate: rebase to ARRAY_SIZE()
>>   Vlv2TbltDevicePkg/PlatformInitPei: rebase to ARRAY_SIZE()
>>   Vlv2TbltDevicePkg/PlatformPei: rebase to ARRAY_SIZE()
>>   Vlv2TbltDevicePkg/PlatformSetupDxe: rebase to ARRAY_SIZE()
>>   Vlv2TbltDevicePkg/SmBiosMiscDxe: rebase to ARRAY_SIZE()
>>
>>  ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c                          |  2 +-
>>  DuetPkg/Library/DuetBdsLib/BdsPlatform.c                                      |  2 +-
>>  EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/OpcodeCreation.c |  2 +-
>>  EdkCompatibilityPkg/Sample/Tools/Source/EfiRom/EfiRom.c                       |  4 ++--
>>  EdkCompatibilityPkg/Sample/Tools/Source/HiiPack/IfrParse.c                    |  2 +-
>>  FatPkg/EnhancedFatDxe/DirectoryManage.c                                       |  4 ++--
>>  FatPkg/EnhancedFatDxe/FileName.c                                              |  4 ++--
>>  FatPkg/EnhancedFatDxe/Hash.c                                                  |  4 ++--
>>  IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBm.c               |  2 +-
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c                           |  2 +-
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BBSsupport.c               |  4 ++--
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.c                |  8 ++++----
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c               |  2 +-
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/ConsoleOption.c            |  6 +++---
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c               | 10 +++++-----
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/Variable.c                 |  2 +-
>>  IntelFrameworkModulePkg/Universal/BdsDxe/BootMngr/BootManager.c               |  2 +-
>>  MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c                |  6 +++---
>>  MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c                                       |  2 +-
>>  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c                         |  2 +-
>>  MdeModulePkg/Bus/Usb/UsbBusDxe/UsbHub.c                                       |  4 ++--
>>  MdeModulePkg/Core/Dxe/Mem/Pool.c                                              |  2 +-
>>  MdeModulePkg/Core/PiSmmCore/Pool.c                                            |  2 +-
>>  MdeModulePkg/Core/PiSmmCore/SmramProfileRecord.c                              |  6 +++---
>>  MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenance.c            |  8 ++++----
>>  MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c              |  8 ++++----
>>  MdeModulePkg/Library/BootMaintenanceManagerUiLib/UpdatePage.c                 | 12 ++++++------
>>  MdeModulePkg/Library/BootMaintenanceManagerUiLib/Variable.c                   |  2 +-
>>  MdeModulePkg/Library/BootManagerUiLib/BootManager.c                           |  6 +++---
>>  MdeModulePkg/Library/UefiBootManagerLib/BmBootDescription.c                   |  2 +-
>>  MdeModulePkg/Library/UefiBootManagerLib/BmConsole.c                           |  2 +-
>>  MdeModulePkg/Library/UefiBootManagerLib/BmHotkey.c                            |  2 +-
>>  MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c                        |  4 ++--
>>  MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiGen.c                          |  4 ++--
>>  MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLibNullClass.c                 |  2 +-
>>  MdeModulePkg/Logo/Logo.c                                                      |  2 +-
>>  MdeModulePkg/Universal/BdsDxe/BdsEntry.c                                      |  2 +-
>>  MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c                         |  4 ++--
>>  MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c                        |  6 +++---
>>  MdeModulePkg/Universal/EbcDxe/EbcExecute.c                                    |  2 +-
>>  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c                           |  2 +-
>>  MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.h            |  2 --
>>  MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c                         |  2 +-
>>  MdePkg/Include/Base.h                                                         | 13 +++++++++++++
>>  NetworkPkg/Application/IpsecConfig/IpSecConfig.h                              |  2 --
>>  NetworkPkg/IScsiDxe/IScsiConfig.c                                             |  4 ++--
>>  NetworkPkg/IScsiDxe/IScsiDriver.c                                             |  2 +-
>>  NetworkPkg/IScsiDxe/IScsiMisc.c                                               |  6 +++---
>>  NetworkPkg/TcpDxe/TcpOutput.c                                                 |  2 +-
>>  Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c                                      |  2 +-
>>  OptionRomPkg/AtapiPassThruDxe/AtapiPassThru.c                                 |  4 ++--
>>  OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c                          |  5 -----
>>  OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c                           | 12 ++++++------
>>  OvmfPkg/QemuVideoDxe/Initialize.c                                             |  4 ++--
>>  OvmfPkg/XenBusDxe/XenStore.c                                                  |  1 -
>>  PerformancePkg/Dp_App/Dp.c                                                    |  2 +-
>>  PerformancePkg/Dp_App/DpTrace.c                                               | 10 +++++-----
>>  SecurityPkg/Library/AuthVariableLib/AuthVariableLib.c                         |  4 ++--
>>  ShellPkg/Library/UefiDpLib/DpTrace.c                                          | 10 +++++-----
>>  ShellPkg/Library/UefiShellLevel2CommandsLib/TimeDate.c                        |  2 +-
>>  Vlv2TbltDevicePkg/Application/FirmwareUpdate/FirmwareUpdate.c                 |  2 +-
>>  Vlv2TbltDevicePkg/PlatformInitPei/FlashMap.c                                  |  2 +-
>>  Vlv2TbltDevicePkg/PlatformPei/BootMode.c                                      |  6 +++---
>>  Vlv2TbltDevicePkg/PlatformSetupDxe/SetupInfoRecords.c                         |  2 +-
>>  Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscOemType0x94Function.c                     |  2 +-
>>  65 files changed, 131 insertions(+), 128 deletions(-)
>>
>> -- 
>> 2.9.2
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel
>>



  reply	other threads:[~2016-10-27  7:52 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-26 19:04 [PATCH 00/47] edk2: centralize and adopt ARRAY_SIZE() Laszlo Ersek
2016-10-26 19:04 ` [PATCH 01/47] MdeModulePkg/RegularExpressionDxe: guard the definition of ARRAY_SIZE Laszlo Ersek
2016-10-26 19:04 ` [PATCH 02/47] NetworkPkg/IpsecConfig: " Laszlo Ersek
2016-10-27  1:59   ` Fu, Siyuan
2016-10-27  2:30   ` Wu, Jiaxin
2016-10-26 19:04 ` [PATCH 03/47] OvmfPkg/PlatformBootManagerLib: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 04/47] OvmfPkg/XenBusDxe: " Laszlo Ersek
2016-10-27  3:15   ` Gary Lin
2016-10-26 19:04 ` [PATCH 05/47] MdePkg/Include/Base.h: introduce the ARRAY_SIZE() function-like macro Laszlo Ersek
2016-10-26 22:13   ` Kinney, Michael D
2016-10-26 22:25     ` Laszlo Ersek
2016-10-27  2:21       ` Kinney, Michael D
2016-10-26 19:04 ` [PATCH 06/47] MdeModulePkg/RegularExpressionDxe: remove module-local ARRAY_SIZE macro Laszlo Ersek
2016-10-26 19:04 ` [PATCH 07/47] NetworkPkg/IpsecConfig: " Laszlo Ersek
2016-10-27  1:59   ` Fu, Siyuan
2016-10-27  2:31   ` Wu, Jiaxin
2016-10-26 19:04 ` [PATCH 08/47] OvmfPkg/PlatformBootManagerLib: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 09/47] OvmfPkg/XenBusDxe: " Laszlo Ersek
2016-10-27  3:16   ` Gary Lin
2016-10-26 19:04 ` [PATCH 10/47] ArmVirtPkg/NorFlashQemuLib: rebase to ARRAY_SIZE() Laszlo Ersek
2016-10-27  7:30   ` Ard Biesheuvel
2016-10-26 19:04 ` [PATCH 11/47] DuetPkg/DuetBdsLib: " Laszlo Ersek
2016-10-27  8:16   ` Laszlo Ersek
2016-10-27  9:04     ` Ni, Ruiyu
2016-10-27  9:12       ` Laszlo Ersek
2016-10-26 19:04 ` [PATCH 12/47] EdkCompatibilityPkg/FrameworkHiiOnUefiHiiThunk: " Laszlo Ersek
2016-10-27  1:20   ` Gao, Liming
2016-10-26 19:04 ` [PATCH 13/47] EdkCompatibilityPkg/Sample/Tools: " Laszlo Ersek
2016-10-27  1:20   ` Gao, Liming
2016-10-26 19:04 ` [PATCH 14/47] FatPkg/EnhancedFatDxe: " Laszlo Ersek
2016-10-27  1:53   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 15/47] IntelFrameworkModulePkg/LegacyBootManagerLib: " Laszlo Ersek
2016-10-27  3:09   ` Fan, Jeff
2016-10-26 19:04 ` [PATCH 16/47] IntelFrameworkModulePkg/BdsDxe: " Laszlo Ersek
2016-10-27  3:12   ` Fan, Jeff
2016-10-26 19:04 ` [PATCH 17/47] MdeModulePkg/MemoryProfileInfo: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 18/47] MdeModulePkg/PciBusDxe: " Laszlo Ersek
2016-10-27  1:53   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 19/47] MdeModulePkg/PciHostBridgeDxe: " Laszlo Ersek
2016-10-27  1:49   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 20/47] MdeModulePkg/UsbBusDxe: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 21/47] MdeModulePkg/Core/Dxe: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 22/47] MdeModulePkg/Core/PiSmmCore: " Laszlo Ersek
2016-10-27  2:20   ` Kinney, Michael D
2016-10-26 19:04 ` [PATCH 23/47] MdeModulePkg/BootMaintenanceManagerUiLib: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 24/47] MdeModulePkg/BootManagerUiLib: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 25/47] MdeModulePkg/UefiBootManagerLib: " Laszlo Ersek
2016-10-27  1:50   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 26/47] MdeModulePkg/VarCheckHiiLib: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 27/47] MdeModulePkg/Logo: " Laszlo Ersek
2016-10-27  1:53   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 28/47] MdeModulePkg/BdsDxe: " Laszlo Ersek
2016-10-27  1:50   ` Ni, Ruiyu
2016-10-27  1:50   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 29/47] MdeModulePkg/DisplayEngineDxe: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 30/47] MdeModulePkg/EbcDxe: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 31/47] MdeModulePkg/Tcp4Dxe: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 32/47] MdeModulePkg/Variable/RuntimeDxe: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 33/47] NetworkPkg/IScsiDxe: " Laszlo Ersek
2016-10-27  1:59   ` Fu, Siyuan
2016-10-26 19:04 ` [PATCH 34/47] NetworkPkg/TcpDxe: " Laszlo Ersek
2016-10-27  2:00   ` Fu, Siyuan
2016-10-27  2:31   ` Wu, Jiaxin
2016-10-26 19:04 ` [PATCH 35/47] Nt32Pkg/WinNtSerialIoDxe: " Laszlo Ersek
2016-10-27  1:49   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 36/47] OptionRomPkg/AtapiPassThruDxe: " Laszlo Ersek
2016-10-27  1:47   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 37/47] OvmfPkg/QemuBootOrderLib: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 38/47] OvmfPkg/QemuVideoDxe: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 39/47] PerformancePkg/Dp_App: " Laszlo Ersek
2016-10-26 19:04 ` [PATCH 40/47] SecurityPkg/AuthVariableLib: " Laszlo Ersek
2016-10-27  9:07   ` Laszlo Ersek
2016-10-27  9:09     ` Zeng, Star
2016-10-27  9:12       ` Laszlo Ersek
2016-10-28  8:36     ` Zhang, Chao B
2016-10-28 10:20       ` Laszlo Ersek
2016-10-26 19:04 ` [PATCH 41/47] ShellPkg/UefiDpLib: " Laszlo Ersek
2016-10-27  1:47   ` Ni, Ruiyu
2016-10-26 19:04 ` [PATCH 42/47] ShellPkg/UefiShellLevel2CommandsLib: " Laszlo Ersek
2016-10-27  1:47   ` Ni, Ruiyu
2016-10-26 19:05 ` [PATCH 43/47] Vlv2TbltDevicePkg/FirmwareUpdate: " Laszlo Ersek
2016-10-27  7:08   ` Guo, Mang
2016-10-26 19:05 ` [PATCH 44/47] Vlv2TbltDevicePkg/PlatformInitPei: " Laszlo Ersek
2016-10-27  7:10   ` Guo, Mang
2016-10-26 19:05 ` [PATCH 45/47] Vlv2TbltDevicePkg/PlatformPei: " Laszlo Ersek
2016-10-27  7:12   ` Guo, Mang
2016-10-26 19:05 ` [PATCH 46/47] Vlv2TbltDevicePkg/PlatformSetupDxe: " Laszlo Ersek
2016-10-27  7:14   ` Guo, Mang
2016-10-26 19:05 ` [PATCH 47/47] Vlv2TbltDevicePkg/SmBiosMiscDxe: " Laszlo Ersek
2016-10-27  7:14   ` Guo, Mang
2016-10-26 21:48 ` [PATCH 00/47] edk2: centralize and adopt ARRAY_SIZE() Carsey, Jaben
2016-10-27  1:17 ` Tian, Feng
2016-10-27  2:37   ` Zeng, Star
2016-10-27  4:43 ` Gary Lin
2016-10-27  7:52   ` Laszlo Ersek [this message]
2016-10-27  6:05 ` Jordan Justen
2016-10-27  8:49   ` Laszlo Ersek
2016-10-27  9:27 ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7ecc4ffa-6021-8364-e6a9-484cfa6e204e@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox