From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7FBB680370 for ; Wed, 8 Mar 2017 11:05:31 -0800 (PST) Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 17B8137EEB; Wed, 8 Mar 2017 19:05:32 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-117-47.phx2.redhat.com [10.3.117.47]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v28J5GPO014080; Wed, 8 Mar 2017 14:05:27 -0500 From: Laszlo Ersek To: edk2-devel-01 Cc: Ard Biesheuvel Date: Wed, 8 Mar 2017 20:05:09 +0100 Message-Id: <20170308190511.31195-5-lersek@redhat.com> In-Reply-To: <20170308190511.31195-1-lersek@redhat.com> References: <20170308190511.31195-1-lersek@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 08 Mar 2017 19:05:32 +0000 (UTC) Subject: [PATCH 4/6] ArmVirtPkg/QemuFwCfgLib: add explicitly initialized instance X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Mar 2017 19:05:31 -0000 The QemuFwCfgLibExplicitInit instance differs from the normally used one in that the client module has to call the QemuFwCfgInitialize() function explicitly -- there is no library constructor --, and the client shall also ensure that the dependency on FDT_CLIENT_PROTOCOL is satisfied -- there is no DepEx. In particular this enables the module that produces FDT_CLIENT_PROTOCOL to use the library, after the protocol is installed. Note that neither QemuFwCfgLib instance calls FDT_CLIENT_PROTOCOL.GetOsExposure(). In fact, the QemuFwCfgLibExplicitInit instance will be utilized to implement FDT_CLIENT_PROTOCOL.GetOsExposure(). Cc: Ard Biesheuvel Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek --- ArmVirtPkg/Library/QemuFwCfgLib/{QemuFwCfgLib.inf => QemuFwCfgLibExplicitInit.inf} | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf b/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLibExplicitInit.inf similarity index 72% copy from ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf copy to ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLibExplicitInit.inf index eff4a2165062..007e5f1b2d54 100644 --- a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf +++ b/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLibExplicitInit.inf @@ -1,8 +1,8 @@ ## @file # -# Stateful, implicitly initialized fw_cfg library. +# Stateful, explicitly initialized fw_cfg library. # -# Copyright (C) 2013 - 2014, Red Hat, Inc. +# Copyright (C) 2013 - 2017, Red Hat, Inc. # Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.
# # This program and the accompanying materials are licensed and made available @@ -18,13 +18,11 @@ [Defines] INF_VERSION = 0x00010005 - BASE_NAME = QemuFwCfgLib - FILE_GUID = B271F41F-B841-48A9-BA8D-545B4BC2E2BF + BASE_NAME = QemuFwCfgLibExplicitInit + FILE_GUID = 7DF98175-3819-4966-A48C-E56056EA8F42 MODULE_TYPE = BASE VERSION_STRING = 1.0 - LIBRARY_CLASS = QemuFwCfgLib|DXE_DRIVER - - CONSTRUCTOR = QemuFwCfgInitialize + LIBRARY_CLASS = QemuFwCfgLib|DXE_DRIVER UEFI_DRIVER # # The following information is for reference only and not required by the build @@ -50,6 +48,3 @@ [LibraryClasses] [Protocols] gFdtClientProtocolGuid ## CONSUMES - -[Depex] - gFdtClientProtocolGuid -- 2.9.3