public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH edk2-platforms 0/4] SynQuacer updates
@ 2018-05-23 14:14 Ard Biesheuvel
  2018-05-23 14:14 ` [PATCH edk2-platforms 1/4] Platform/DeveloperBox: add 96boards/Socionext logo Ard Biesheuvel
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-05-23 14:14 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, Ard Biesheuvel

Patch #4 fixes a bug that breaks the DEBUG build. Remaining patches
are general improvements.

Ard Biesheuvel (4):
  Platform/DeveloperBox: add 96boards/Socionext logo
  Platform/DeveloperBox: add PCI serial driver
  Platform/DeveloperBox: switch to protocol based DevicePathLib
  Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable
    protocol

 .../Socionext/DeveloperBox/DeveloperBox.dsc   |  13 +-
 .../Socionext/DeveloperBox/DeveloperBox.fdf   |   3 +-
 Platform/Socionext/DeveloperBox/Logo/Logo.bmp | Bin 0 -> 1050122 bytes
 Platform/Socionext/DeveloperBox/Logo/Logo.c   | 149 ++++++++++++++++++
 Platform/Socionext/DeveloperBox/Logo/Logo.idf |  15 ++
 .../Socionext/DeveloperBox/Logo/LogoDxe.inf   |  52 ++++++
 .../SynQuacerPciHostBridgeLib.inf             |   5 +
 7 files changed, 233 insertions(+), 4 deletions(-)
 create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.bmp
 create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.c
 create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.idf
 create mode 100644 Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf

-- 
2.17.0



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH edk2-platforms 1/4] Platform/DeveloperBox: add 96boards/Socionext logo
  2018-05-23 14:14 [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
@ 2018-05-23 14:14 ` Ard Biesheuvel
  2018-05-23 14:14 ` [PATCH edk2-platforms 2/4] Platform/DeveloperBox: add PCI serial driver Ard Biesheuvel
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-05-23 14:14 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, Ard Biesheuvel

Add a nice splash screen with the Socionext and 96boards logos.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
Binary omitted. File can be found here:
http://people.linaro.org/~ard.biesheuvel/devbox/Logo.bmp

 Platform/Socionext/DeveloperBox/DeveloperBox.dsc |   2 +-
 Platform/Socionext/DeveloperBox/DeveloperBox.fdf |   2 +-
 Platform/Socionext/DeveloperBox/Logo/Logo.bmp    | Bin 0 -> 1050122 bytes
 Platform/Socionext/DeveloperBox/Logo/Logo.c      | 149 ++++++++++++++++++++
 Platform/Socionext/DeveloperBox/Logo/Logo.idf    |  15 ++
 Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf |  52 +++++++
 6 files changed, 218 insertions(+), 2 deletions(-)

diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
index 24b2925bf954..e7068a5b629c 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
@@ -504,7 +504,7 @@ [Components.common]
   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-  MdeModulePkg/Logo/LogoDxe.inf
+  Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
 
   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
     <LibraryClasses>
diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.fdf b/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
index 1b8de4c3823a..9e06abb38682 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
@@ -116,7 +116,7 @@ [FV.FvMain]
   INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
   INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
   INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-  INF MdeModulePkg/Logo/LogoDxe.inf
+  INF Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
   INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
 
   #
diff --git a/Platform/Socionext/DeveloperBox/Logo/Logo.bmp b/Platform/Socionext/DeveloperBox/Logo/Logo.bmp
new file mode 100644
index 000000000000..bf87981ee71e
Binary files /dev/null and b/Platform/Socionext/DeveloperBox/Logo/Logo.bmp differ
diff --git a/Platform/Socionext/DeveloperBox/Logo/Logo.c b/Platform/Socionext/DeveloperBox/Logo/Logo.c
new file mode 100644
index 000000000000..03bf748efd73
--- /dev/null
+++ b/Platform/Socionext/DeveloperBox/Logo/Logo.c
@@ -0,0 +1,149 @@
+/** @file
+  Logo DXE Driver, install Edkii Platform Logo protocol.
+
+  Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>
+
+  This program and the accompanying materials are licensed and made available
+  under the terms and conditions of the BSD License which accompanies this
+  distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#include <Uefi.h>
+#include <Protocol/HiiDatabase.h>
+#include <Protocol/GraphicsOutput.h>
+#include <Protocol/HiiImageEx.h>
+#include <Protocol/PlatformLogo.h>
+#include <Protocol/HiiPackageList.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/DebugLib.h>
+
+typedef struct {
+  EFI_IMAGE_ID                          ImageId;
+  EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE Attribute;
+  INTN                                  OffsetX;
+  INTN                                  OffsetY;
+} LOGO_ENTRY;
+
+STATIC EFI_HII_IMAGE_EX_PROTOCOL *mHiiImageEx;
+STATIC EFI_HII_HANDLE            mHiiHandle;
+STATIC LOGO_ENTRY                mLogos[] = {
+  {
+    IMAGE_TOKEN (IMG_LOGO),
+    EdkiiPlatformLogoDisplayAttributeCenter,
+    0,
+    0
+  }
+};
+
+/**
+  Load a platform logo image and return its data and attributes.
+
+  @param This              The pointer to this protocol instance.
+  @param Instance          The visible image instance is found.
+  @param Image             Points to the image.
+  @param Attribute         The display attributes of the image returned.
+  @param OffsetX           The X offset of the image regarding the Attribute.
+  @param OffsetY           The Y offset of the image regarding the Attribute.
+
+  @retval EFI_SUCCESS      The image was fetched successfully.
+  @retval EFI_NOT_FOUND    The specified image could not be found.
+**/
+STATIC
+EFI_STATUS
+EFIAPI
+GetImage (
+  IN     EDKII_PLATFORM_LOGO_PROTOCOL          *This,
+  IN OUT UINT32                                *Instance,
+     OUT EFI_IMAGE_INPUT                       *Image,
+     OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,
+     OUT INTN                                  *OffsetX,
+     OUT INTN                                  *OffsetY
+  )
+{
+  UINT32 Current;
+
+  if (Instance == NULL || Image == NULL ||
+      Attribute == NULL || OffsetX == NULL || OffsetY == NULL) {
+    return EFI_INVALID_PARAMETER;
+  }
+
+  Current = *Instance;
+  if (Current >= ARRAY_SIZE (mLogos)) {
+    return EFI_NOT_FOUND;
+  }
+
+  (*Instance)++;
+  *Attribute = mLogos[Current].Attribute;
+  *OffsetX   = mLogos[Current].OffsetX;
+  *OffsetY   = mLogos[Current].OffsetY;
+
+  return mHiiImageEx->GetImageEx (mHiiImageEx, mHiiHandle,
+                        mLogos[Current].ImageId, Image);
+}
+
+STATIC EDKII_PLATFORM_LOGO_PROTOCOL mPlatformLogo = {
+  GetImage
+};
+
+/**
+  Entrypoint of this module.
+
+  This function is the entrypoint of this module. It installs the Edkii
+  Platform Logo protocol.
+
+  @param  ImageHandle       The firmware allocated handle for the EFI image.
+  @param  SystemTable       A pointer to the EFI System Table.
+
+  @retval EFI_SUCCESS       The entry point is executed successfully.
+
+**/
+EFI_STATUS
+EFIAPI
+InitializeLogo (
+  IN EFI_HANDLE               ImageHandle,
+  IN EFI_SYSTEM_TABLE         *SystemTable
+  )
+{
+  EFI_STATUS                  Status;
+  EFI_HII_PACKAGE_LIST_HEADER *PackageList;
+  EFI_HII_DATABASE_PROTOCOL   *HiiDatabase;
+  EFI_HANDLE                  Handle;
+
+  Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL,
+                  (VOID **) &HiiDatabase);
+  ASSERT_EFI_ERROR (Status);
+
+  Status = gBS->LocateProtocol (&gEfiHiiImageExProtocolGuid, NULL,
+                  (VOID **) &mHiiImageEx);
+  ASSERT_EFI_ERROR (Status);
+
+  //
+  // Retrieve HII package list from ImageHandle
+  //
+  Status = gBS->OpenProtocol (ImageHandle, &gEfiHiiPackageListProtocolGuid,
+                  (VOID **) &PackageList, ImageHandle, NULL,
+                  EFI_OPEN_PROTOCOL_GET_PROTOCOL);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR,
+      "HII Image Package with logo not found in PE/COFF resource section\n"));
+    return Status;
+  }
+
+  //
+  // Publish HII package list to HII Database.
+  //
+  Status = HiiDatabase->NewPackageList (HiiDatabase, PackageList, NULL,
+                          &mHiiHandle);
+  if (!EFI_ERROR (Status)) {
+    Handle = NULL;
+    Status = gBS->InstallMultipleProtocolInterfaces (&Handle,
+                    &gEdkiiPlatformLogoProtocolGuid, &mPlatformLogo, NULL);
+  }
+  return Status;
+}
diff --git a/Platform/Socionext/DeveloperBox/Logo/Logo.idf b/Platform/Socionext/DeveloperBox/Logo/Logo.idf
new file mode 100644
index 000000000000..43a17dff65ad
--- /dev/null
+++ b/Platform/Socionext/DeveloperBox/Logo/Logo.idf
@@ -0,0 +1,15 @@
+// @file
+// Platform Logo image definition file.
+//
+// Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>
+//
+// This program and the accompanying materials are licensed and made available
+// under the terms and conditions of the BSD License which accompanies this
+// distribution. The full text of the license may be found at
+// http://opensource.org/licenses/bsd-license.php
+//
+// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+//
+
+#image IMG_LOGO Logo.bmp
diff --git a/Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf b/Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
new file mode 100644
index 000000000000..d25fd097eb10
--- /dev/null
+++ b/Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
@@ -0,0 +1,52 @@
+## @file
+#  The default logo bitmap picture shown on setup screen.
+#
+#  Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>
+#
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of the BSD License
+#  which accompanies this distribution. The full text of the license may be found at
+#  http://opensource.org/licenses/bsd-license.php
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#
+##
+
+[Defines]
+  INF_VERSION                    = 0x0001001A
+  BASE_NAME                      = LogoDxe
+  FILE_GUID                      = 35ec7319-053b-45b8-8523-8666a662122c
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+
+  ENTRY_POINT                    = InitializeLogo
+#
+#  This flag specifies whether HII resource section is generated into PE image.
+#
+  UEFI_HII_RESOURCE_SECTION      = TRUE
+
+[Sources]
+  Logo.bmp
+  Logo.c
+  Logo.idf
+
+[Packages]
+  MdeModulePkg/MdeModulePkg.dec
+  MdePkg/MdePkg.dec
+
+[LibraryClasses]
+  UefiBootServicesTableLib
+  UefiDriverEntryPoint
+  DebugLib
+
+[Protocols]
+  gEfiHiiDatabaseProtocolGuid        ## CONSUMES
+  gEfiHiiImageExProtocolGuid         ## CONSUMES
+  gEfiHiiPackageListProtocolGuid     ## PRODUCES CONSUMES
+  gEdkiiPlatformLogoProtocolGuid     ## PRODUCES
+
+[Depex]
+  gEfiHiiDatabaseProtocolGuid AND
+  gEfiHiiImageExProtocolGuid
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH edk2-platforms 2/4] Platform/DeveloperBox: add PCI serial driver
  2018-05-23 14:14 [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
  2018-05-23 14:14 ` [PATCH edk2-platforms 1/4] Platform/DeveloperBox: add 96boards/Socionext logo Ard Biesheuvel
@ 2018-05-23 14:14 ` Ard Biesheuvel
  2018-05-23 14:14 ` [PATCH edk2-platforms 3/4] Platform/DeveloperBox: switch to protocol based DevicePathLib Ard Biesheuvel
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-05-23 14:14 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, Ard Biesheuvel

Add the generic PCI serial driver so UART plugin cards can be used
as the serial console in UEFI.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platform/Socionext/DeveloperBox/DeveloperBox.dsc | 1 +
 Platform/Socionext/DeveloperBox/DeveloperBox.fdf | 1 +
 2 files changed, 2 insertions(+)

diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
index e7068a5b629c..1bfe7fcaca01 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
@@ -581,6 +581,7 @@ [Components.common]
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
   MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
   Silicon/Socionext/SynQuacer/Stage2Tables/Stage2Tables.inf
+  MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
 
   #
   # eMMC support
diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.fdf b/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
index 9e06abb38682..c36104da3b46 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.fdf
@@ -149,6 +149,7 @@ [FV.FvMain]
   INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
   INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
   INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+  INF MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf
 
   #
   # eMMC support
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH edk2-platforms 3/4] Platform/DeveloperBox: switch to protocol based DevicePathLib
  2018-05-23 14:14 [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
  2018-05-23 14:14 ` [PATCH edk2-platforms 1/4] Platform/DeveloperBox: add 96boards/Socionext logo Ard Biesheuvel
  2018-05-23 14:14 ` [PATCH edk2-platforms 2/4] Platform/DeveloperBox: add PCI serial driver Ard Biesheuvel
@ 2018-05-23 14:14 ` Ard Biesheuvel
  2018-05-23 14:14 ` [PATCH edk2-platforms 4/4] Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable protocol Ard Biesheuvel
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-05-23 14:14 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, Ard Biesheuvel

We already include DevicePathDxe, which exposes a protocol that implements
DevicePathLib in a way that can be shared across modules, avoiding the
need for multiple copies of UefiDevicePathLib, which is rather heavy
weight. However, we are not actually using it, and all DevicePathLib
users carry a private copy of UefiDevicePathLib.

So wire up all modules except DxeCore and DevicePathDxe itself, which
cannot use the protocol for obvious reasons. Also, avoid creating a
cyclic dependency between PcdDxe and DevicePathDxe by using PcdLibNull
in the latter.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platform/Socionext/DeveloperBox/DeveloperBox.dsc | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
index 1bfe7fcaca01..3decc22e25b1 100644
--- a/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
+++ b/Platform/Socionext/DeveloperBox/DeveloperBox.dsc
@@ -93,7 +93,7 @@ [LibraryClasses.common]
   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+  DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
@@ -475,6 +475,7 @@ [Components.common]
   MdeModulePkg/Core/Dxe/DxeMain.inf {
     <LibraryClasses>
       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
     <PcdsFixedAtBuild>
       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
   }
@@ -497,7 +498,12 @@ [Components.common]
   ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
 
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+    <LibraryClasses>
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+  }
+
   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH edk2-platforms 4/4] Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable protocol
  2018-05-23 14:14 [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
                   ` (2 preceding siblings ...)
  2018-05-23 14:14 ` [PATCH edk2-platforms 3/4] Platform/DeveloperBox: switch to protocol based DevicePathLib Ard Biesheuvel
@ 2018-05-23 14:14 ` Ard Biesheuvel
  2018-05-31  7:34 ` [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
  2018-05-31  9:04 ` Leif Lindholm
  5 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-05-23 14:14 UTC (permalink / raw)
  To: edk2-devel; +Cc: leif.lindholm, Ard Biesheuvel

As discussed on-list [0], dynamic HII PCDs are backed by EFI variables,
but having PcdDxe DEPEXing on gEfiVariableArchProtocolGuid in general
is too restrictive, and so it is up to the platforms themselves to
DEPEX on gEfiVariableArchProtocolGuid in modules that use PCDs that
the platform may declare as dynamic HII. This also applies to the PCD
gSynQuacerTokenSpaceGuid.PcdPlatformSettings on the SynQuacer platform,
which is used by its PciHostBridgeLib implementation. So add the DEPEX
to make this dependency explicit.

[0] https://lists.01.org/pipermail/edk2-devel/2018-April/023700.html

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Silicon/Socionext/SynQuacer/Library/SynQuacerPciHostBridgeLib/SynQuacerPciHostBridgeLib.inf | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Silicon/Socionext/SynQuacer/Library/SynQuacerPciHostBridgeLib/SynQuacerPciHostBridgeLib.inf b/Silicon/Socionext/SynQuacer/Library/SynQuacerPciHostBridgeLib/SynQuacerPciHostBridgeLib.inf
index e475529eaf58..8b8bb5df57d3 100644
--- a/Silicon/Socionext/SynQuacer/Library/SynQuacerPciHostBridgeLib/SynQuacerPciHostBridgeLib.inf
+++ b/Silicon/Socionext/SynQuacer/Library/SynQuacerPciHostBridgeLib/SynQuacerPciHostBridgeLib.inf
@@ -54,3 +54,8 @@ [FixedPcd]
 [Pcd]
   gSynQuacerTokenSpaceGuid.PcdPcieEnableMask
   gSynQuacerTokenSpaceGuid.PcdPlatformSettings
+
+[Depex]
+  # gSynQuacerTokenSpaceGuid.PcdPlatformSettings may be of the dynamic HII
+  # variety, which are backed by EFI variables
+  gEfiVariableArchProtocolGuid
-- 
2.17.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH edk2-platforms 0/4] SynQuacer updates
  2018-05-23 14:14 [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
                   ` (3 preceding siblings ...)
  2018-05-23 14:14 ` [PATCH edk2-platforms 4/4] Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable protocol Ard Biesheuvel
@ 2018-05-31  7:34 ` Ard Biesheuvel
  2018-05-31  9:04 ` Leif Lindholm
  5 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-05-31  7:34 UTC (permalink / raw)
  To: edk2-devel@lists.01.org; +Cc: Leif Lindholm, Ard Biesheuvel

On 23 May 2018 at 16:14, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> Patch #4 fixes a bug that breaks the DEBUG build. Remaining patches
> are general improvements.
>
> Ard Biesheuvel (4):
>   Platform/DeveloperBox: add 96boards/Socionext logo
>   Platform/DeveloperBox: add PCI serial driver
>   Platform/DeveloperBox: switch to protocol based DevicePathLib
>   Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable
>     protocol
>
>  .../Socionext/DeveloperBox/DeveloperBox.dsc   |  13 +-
>  .../Socionext/DeveloperBox/DeveloperBox.fdf   |   3 +-
>  Platform/Socionext/DeveloperBox/Logo/Logo.bmp | Bin 0 -> 1050122 bytes
>  Platform/Socionext/DeveloperBox/Logo/Logo.c   | 149 ++++++++++++++++++
>  Platform/Socionext/DeveloperBox/Logo/Logo.idf |  15 ++
>  .../Socionext/DeveloperBox/Logo/LogoDxe.inf   |  52 ++++++
>  .../SynQuacerPciHostBridgeLib.inf             |   5 +
>  7 files changed, 233 insertions(+), 4 deletions(-)
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.bmp
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.c
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.idf
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
>

Ping?


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH edk2-platforms 0/4] SynQuacer updates
  2018-05-23 14:14 [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
                   ` (4 preceding siblings ...)
  2018-05-31  7:34 ` [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
@ 2018-05-31  9:04 ` Leif Lindholm
  2018-05-31 10:47   ` Ard Biesheuvel
  5 siblings, 1 reply; 8+ messages in thread
From: Leif Lindholm @ 2018-05-31  9:04 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: edk2-devel

On Wed, May 23, 2018 at 04:14:40PM +0200, Ard Biesheuvel wrote:
> Patch #4 fixes a bug that breaks the DEBUG build. Remaining patches
> are general improvements.
> 
> Ard Biesheuvel (4):
>   Platform/DeveloperBox: add 96boards/Socionext logo
>   Platform/DeveloperBox: add PCI serial driver
>   Platform/DeveloperBox: switch to protocol based DevicePathLib
>   Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable
>     protocol

For the series:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

(I'll just add that ideally I'd want any series containing binaries to
come with a link to a branch rather than a link to a copy of the file.)

>  .../Socionext/DeveloperBox/DeveloperBox.dsc   |  13 +-
>  .../Socionext/DeveloperBox/DeveloperBox.fdf   |   3 +-
>  Platform/Socionext/DeveloperBox/Logo/Logo.bmp | Bin 0 -> 1050122 bytes
>  Platform/Socionext/DeveloperBox/Logo/Logo.c   | 149 ++++++++++++++++++
>  Platform/Socionext/DeveloperBox/Logo/Logo.idf |  15 ++
>  .../Socionext/DeveloperBox/Logo/LogoDxe.inf   |  52 ++++++
>  .../SynQuacerPciHostBridgeLib.inf             |   5 +
>  7 files changed, 233 insertions(+), 4 deletions(-)
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.bmp
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.c
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.idf
>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
> 
> -- 
> 2.17.0
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH edk2-platforms 0/4] SynQuacer updates
  2018-05-31  9:04 ` Leif Lindholm
@ 2018-05-31 10:47   ` Ard Biesheuvel
  0 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-05-31 10:47 UTC (permalink / raw)
  To: Leif Lindholm; +Cc: edk2-devel@lists.01.org

On 31 May 2018 at 11:04, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> On Wed, May 23, 2018 at 04:14:40PM +0200, Ard Biesheuvel wrote:
>> Patch #4 fixes a bug that breaks the DEBUG build. Remaining patches
>> are general improvements.
>>
>> Ard Biesheuvel (4):
>>   Platform/DeveloperBox: add 96boards/Socionext logo
>>   Platform/DeveloperBox: add PCI serial driver
>>   Platform/DeveloperBox: switch to protocol based DevicePathLib
>>   Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable
>>     protocol
>
> For the series:
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
>
> (I'll just add that ideally I'd want any series containing binaries to
> come with a link to a branch rather than a link to a copy of the file.)
>

Thanks

Pushed as 5fc0e7b54bc1..826910524bc6


>>  .../Socionext/DeveloperBox/DeveloperBox.dsc   |  13 +-
>>  .../Socionext/DeveloperBox/DeveloperBox.fdf   |   3 +-
>>  Platform/Socionext/DeveloperBox/Logo/Logo.bmp | Bin 0 -> 1050122 bytes
>>  Platform/Socionext/DeveloperBox/Logo/Logo.c   | 149 ++++++++++++++++++
>>  Platform/Socionext/DeveloperBox/Logo/Logo.idf |  15 ++
>>  .../Socionext/DeveloperBox/Logo/LogoDxe.inf   |  52 ++++++
>>  .../SynQuacerPciHostBridgeLib.inf             |   5 +
>>  7 files changed, 233 insertions(+), 4 deletions(-)
>>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.bmp
>>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.c
>>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/Logo.idf
>>  create mode 100644 Platform/Socionext/DeveloperBox/Logo/LogoDxe.inf
>>
>> --
>> 2.17.0
>>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-05-31 10:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-23 14:14 [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
2018-05-23 14:14 ` [PATCH edk2-platforms 1/4] Platform/DeveloperBox: add 96boards/Socionext logo Ard Biesheuvel
2018-05-23 14:14 ` [PATCH edk2-platforms 2/4] Platform/DeveloperBox: add PCI serial driver Ard Biesheuvel
2018-05-23 14:14 ` [PATCH edk2-platforms 3/4] Platform/DeveloperBox: switch to protocol based DevicePathLib Ard Biesheuvel
2018-05-23 14:14 ` [PATCH edk2-platforms 4/4] Silicon/Socionext/SynQuacerPciHostBridgeLib: DEPEX on variable protocol Ard Biesheuvel
2018-05-31  7:34 ` [PATCH edk2-platforms 0/4] SynQuacer updates Ard Biesheuvel
2018-05-31  9:04 ` Leif Lindholm
2018-05-31 10:47   ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox