public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: "Zeng, Star" <star.zeng@intel.com>
Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	"afish@apple.com" <afish@apple.com>,
	 "Tian, Feng" <feng.tian@intel.com>,
	Laszlo Ersek <lersek@redhat.com>,
	 edk2-devel-01 <edk2-devel@lists.01.org>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	 "Gao, Liming" <liming.gao@intel.com>
Subject: Re: [PATCH v2 05/12] ArmPkg: introduce EDKII Platform Has ACPI Protocol, and plug-in library
Date: Fri, 24 Mar 2017 07:15:48 +0000	[thread overview]
Message-ID: <CAKv+Gu_t+X178=MCZ0ATM72nOsGmPAZ6qndf7gULo1YzHS1Mnw@mail.gmail.com> (raw)
In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103B84CA03@shsmsx102.ccr.corp.intel.com>

On 24 March 2017 at 03:44, Zeng, Star <star.zeng@intel.com> wrote:
> I just think it seems a generic problem.
> Some platforms may dynamically determine whether ACPI should be supported or not.
> Some platforms may dynamically determine whether SMBIOS should be supported or not.
> Some platforms may dynamically determine whether HII should be supported or not.
> ...
>
> We are thinking whether we can have a generic NULL instance to support all this kind of cases, for example:
> 1. Define a FixedAtBuild PCD PcdDepexGuid that will be a VOID* type PCD point to a depex GUID.
> 2. Implement a NULL instance DepexLib.
> [Defines]
>   INF_VERSION                    = 0x00010005
>   BASE_NAME                      = DepexLib
>   FILE_GUID                      = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
>   MODULE_TYPE                    = BASE
>   VERSION_STRING                 = 1.0
>   LIBRARY_CLASS                  = NULL
>
> [Sources]
>   DepexLib.c
>
> [Packages]
>   XXXPkg/XXXPkg.dec
>
> [Depex]
>   PcdDepexGuid
>
> 3. Link NULL instance and configure PCD in dsc.
> MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
>     <LibraryClasses>
>       NULL|XXXPkg/Library/DepexLib/DepexLib.inf
>     <PcdsFixedAtBuild>
>       PcdDepexGuid|gEdkiiPlatformHasAcpiGuid
> }
> MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
>     <LibraryClasses>
>       NULL|XXXPkg/Library/DepexLib/DepexLib.inf
>     <PcdsFixedAtBuild>
>       PcdDepexGuid|gEdkiiPlatformHasSmbiosGuid
> }
>
> But current BaseTools does not support the syntax to declare PCD in [Depex] section of inf yet.
>
> Based on the statements above, I have below comments.
> 1. I agree to add the GUID into MdeModulePkg, but how about using gEdkiiPlatformHasAcpiGuid instead of gEdkiiPlatformHasAcpiProtocolGuid and add the GUID into [Guids] section of MdeModulePkg.dec? As Platform can install gEdkiiPlatformHasAcpiGuid PPI to control PEIM and install gEdkiiPlatformHasAcpiGuid PROTOCOL to control DRIVER. And another, no need to add a include file PlatformHasAcpi.h as BaseTools supports to add the GUID definitions to AutoGen files from package dec.
> 2. You can file bugzilla bug to request BaseTools syntax support to declare PCD in [Depex] section of inf. Then PcdDepexGuid and DepexLib could be finally added into core package MdeModulePkg or even MdePkg (I prefer). Before that, how about implementing the PlatformHasAcpiLib in none core package?
>

Hello Star,

Thanks for taking the time to think about this. It is much appreciated.

I like the generic approach for dynamic dependencies. The more
architectures are supported in UEFI, the more often we are likely to
see the need for such things.

I will let Laszlo speak for himself, as the author of the patches, but
I am perfectly fine with
a) the outline above of how we address this in the long term,
b) taking anything we need for the short term into ArmPkg, and move it
to MdeModulePkg and/or MdePkg later.

Thanks,
Ard.


  reply	other threads:[~2017-03-24  7:15 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-17 20:47 [PATCH v2 00/12] ArmVirtPkg: don't forward the DT to the OS if QEMU provides ACPI Laszlo Ersek
2017-03-17 20:47 ` [PATCH v2 01/12] Revert "ArmVirtPkg/FdtClientDxe: make DT table installation !ACPI dependent" Laszlo Ersek
2017-03-22 14:12   ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 02/12] Revert "ArmVirtPkg/FdtClientDxe: install DT configuration table at ReadyToBoot" Laszlo Ersek
2017-03-22 14:12   ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 03/12] MdeModulePkg/RamDiskDxe: fix C string literal catenation in info messages Laszlo Ersek
2017-03-20  2:16   ` Zeng, Star
2017-03-20  2:26     ` Tian, Feng
2017-03-20  2:34       ` Wu, Hao A
2017-03-20  9:46     ` Laszlo Ersek
2017-03-20  9:57       ` Zeng, Star
2017-03-20 10:10         ` Laszlo Ersek
2017-03-17 20:47 ` [PATCH v2 04/12] ArmVirtPkg/XenAcpiPlatformDxe: don't cast UINT64 to pointer directly Laszlo Ersek
2017-03-22 14:13   ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 05/12] ArmPkg: introduce EDKII Platform Has ACPI Protocol, and plug-in library Laszlo Ersek
2017-03-18 15:00   ` Leif Lindholm
2017-03-20  9:01     ` Laszlo Ersek
2017-03-20 11:59       ` Leif Lindholm
2017-03-22 15:01     ` Laszlo Ersek
2017-03-23  1:41       ` Zeng, Star
2017-03-23  9:09         ` Ard Biesheuvel
2017-03-24  3:44           ` Zeng, Star
2017-03-24  7:15             ` Ard Biesheuvel [this message]
2017-03-24 17:10               ` Laszlo Ersek
2017-03-24 17:11                 ` Ard Biesheuvel
2017-03-24 17:09             ` Laszlo Ersek
2017-03-27  2:42               ` Gao, Liming
2017-03-27  7:00                 ` Ard Biesheuvel
2017-03-27 17:31                   ` Laszlo Ersek
2017-03-27 17:45                     ` Ard Biesheuvel
2017-03-28  5:25                     ` Gao, Liming
2017-03-28  7:49                       ` Laszlo Ersek
2017-03-29  9:49                         ` Gao, Liming
2017-03-29 13:03                           ` Laszlo Ersek
2017-03-20  2:23   ` Zeng, Star
2017-03-20  9:17     ` Laszlo Ersek
2017-03-20  9:57       ` Zeng, Star
2017-03-21  2:27         ` Zeng, Star
2017-03-21  7:10           ` Ard Biesheuvel
2017-03-21  8:43             ` Ard Biesheuvel
2017-03-21  9:02               ` Laszlo Ersek
2017-03-21 18:00                 ` Laszlo Ersek
2017-03-22 14:12                   ` Ard Biesheuvel
2017-03-21  8:37           ` Laszlo Ersek
2017-03-21  8:41             ` Zeng, Star
2017-03-21  9:05               ` Laszlo Ersek
2017-03-22 16:45   ` Laszlo Ersek
2017-03-17 20:47 ` [PATCH v2 06/12] ArmPkg: introduce EDKII Platform Has Device Tree Protocol Laszlo Ersek
2017-03-18 15:06   ` Leif Lindholm
2017-03-20  9:03     ` Laszlo Ersek
2017-03-17 20:47 ` [PATCH v2 07/12] ArmVirtPkg: add PlatformHasAcpiDtDxe Laszlo Ersek
2017-03-22 14:14   ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 08/12] ArmVirtPkg: add XenPlatformHasAcpiDtDxe Laszlo Ersek
2017-03-22 14:15   ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 09/12] ArmVirtPkg: enable AcpiTableDxe and EFI_ACPI_TABLE_PROTOCOL dynamically Laszlo Ersek
2017-03-22 14:16   ` Ard Biesheuvel
2017-03-22 14:54     ` Laszlo Ersek
2017-03-22 15:05       ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 10/12] ArmVirtPkg/FdtClientDxe: install DT as sysconfig table in protocol notify Laszlo Ersek
2017-03-22 14:18   ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 11/12] ArmVirtPkg/PlatformHasAcpiDtDxe: don't expose DT if QEMU provides ACPI Laszlo Ersek
2017-03-17 21:10   ` Ard Biesheuvel
2017-03-17 21:25     ` Laszlo Ersek
2017-03-17 21:27       ` Ard Biesheuvel
2017-03-22 14:18   ` Ard Biesheuvel
2017-03-17 20:47 ` [PATCH v2 12/12] ArmVirtPkg: remove PURE_ACPI_BOOT_ENABLE and PcdPureAcpiBoot Laszlo Ersek
2017-03-22 14:19   ` Ard Biesheuvel

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='CAKv+Gu_t+X178=MCZ0ATM72nOsGmPAZ6qndf7gULo1YzHS1Mnw@mail.gmail.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