From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web11.27544.1601872542438774917 for ; Sun, 04 Oct 2020 21:35:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=l6CWYkmV; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: hao.a.wu@intel.com) IronPort-SDR: akxHnYFzigsw6VqkuB2C898j0Vd1tPi5oUzjJP6D1LQNDwgxy1CVC2H3Ry95SG7u7wqKfh2mZl RWtKUDxC8Nww== X-IronPort-AV: E=McAfee;i="6000,8403,9764"; a="162566972" X-IronPort-AV: E=Sophos;i="5.77,338,1596524400"; d="scan'208";a="162566972" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2020 21:35:41 -0700 IronPort-SDR: 5a7CoQxiwDf/suwsp8Z8b4VucHTdYvDg6N/pB86qlK/mhfarotdXzD8Z/Xp1TSrt/k1EUGsulY Bl/E4yvxBMAw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,338,1596524400"; d="scan'208";a="295969566" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga008.fm.intel.com with ESMTP; 04 Oct 2020 21:35:40 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 4 Oct 2020 21:35:40 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 4 Oct 2020 21:35:39 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 4 Oct 2020 21:35:39 -0700 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.53) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sun, 4 Oct 2020 21:35:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j9Br/8DCEmwMIB+ZeT9z/5SRIvHtqrJPRaN2sTcuPxRadLD+eAH4Wo2dYH2G24ylLFhnQXc35XVPiWBgBq234j982aclu1cxa2l3B9th/N17JneAewmfK88bx3by5O4AGZdw5EGpfy5zZAB0MCgVGjSkpEqYtuEFxAmKO9Ru5Vowp+Ogj4PD6R9fHtys2CeYCsX1313RNJLer29B+f48hYiTv44jER7vyhFpZOZyG2IY/148/rEURn6/3Unthum7XPIgA4aq1zEt8W2MGvmiLTjn7Xtohlt/I5KRvHeUEPdlK/+2TEWUJipqF3R0ztFcFNDk6mvGoXoO5/dhDpgRNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S02Z4US8hfJbv/XA1R/W+gDbUbZcY+QkNMjzjj6WdxM=; b=NmoCC0FiPhqL580RqxhGEUf61WK9XLZeQiekuB+ur3bL/r0nar+7+9nZCUIu4Em5ohYEkWrakkj17Lr1rUywpPc0vpL0gny9K7SvM7vkS8R3PXPj4goiX9MI57EhJf20uV4uqXRWpbXPkpCkWwlOd/JU+xi5H7vQxkWJCaAAjBgXslcw4hrcDX56WTvIAEgGB3I1OtnMkGHatDXVh3BFeo4MWhjKoTxkm7WwGSIUWTOpi5m++zfh7EZHVOCeYHFda3YOUQ0X97fpou07xNF3R9t/wDoiiBUGP1rTrTnH+fBWgJ6KoXerYC+1vkiwoML0DRFZgldc326lN+Uw3tryLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S02Z4US8hfJbv/XA1R/W+gDbUbZcY+QkNMjzjj6WdxM=; b=l6CWYkmVKkc3+VO6UiC3bjars1JbaeQAIq5rg6/BYwtA3rywzHNFyPVyEUjesB6drkxLYpZ6MhybIcP/0B1y2kuXJcnopBN11qe1rpmKjaXIVSmIwRHAFf5szreW08hJJt8E9Jpss6W3RZHYHRf3MU9nyI84ikPIrYLaXthfeDM= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR11MB1555.namprd11.prod.outlook.com (2603:10b6:405:c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.38; Mon, 5 Oct 2020 04:35:35 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::c123:faac:1da3:f807]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::c123:faac:1da3:f807%5]) with mapi id 15.20.3433.043; Mon, 5 Oct 2020 04:35:35 +0000 From: "Wu, Hao A" To: Sami Mujawar , "devel@edk2.groups.io" CC: "ard.biesheuvel@arm.com" , "leif@nuviainc.com" , "lersek@redhat.com" , "Wang, Jian J" , "Alexandru.Elisei@arm.com" , "Andre.Przywara@arm.com" , "Matteo.Carlini@arm.com" , "Ben.Adderson@arm.com" , "nd@arm.com" Subject: Re: [PATCH v5 07/15] MdeModulePkg: Fix constructor invocation ordering Thread-Topic: [PATCH v5 07/15] MdeModulePkg: Fix constructor invocation ordering Thread-Index: AQHWmQETUye/6G4iwkis45PfRU9qQamIb+Zw Date: Mon, 5 Oct 2020 04:35:35 +0000 Message-ID: References: <20201002211409.43888-1-sami.mujawar@arm.com> <20201002211409.43888-8-sami.mujawar@arm.com> In-Reply-To: <20201002211409.43888-8-sami.mujawar@arm.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 53329070-e539-4042-7b57-08d868e81a50 x-ms-traffictypediagnostic: BN6PR11MB1555: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3968; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yQdvPXRLRQRop7+Re9gUSFkjxN8Hlig/ViqUXnYpROVY86iV0c5pDw4oRIJKuuZ6iO1CX9HR/nC+xbhqiQv8SRmeHMO4AtK7nW0vPEI4Rm8HAXUQLZeTwBzlM+Z7aWA63E3Del9Ik3MO6Et1q1BgF7/ZnyvdyQu0F21dV9vhCgAPHR2vt/ZQb+brRuq9smSfcdtvC3wxYwlSdLQISVJDr9KkKVjcJnmsgW6Sie5/0OUs3qD+8LCT16aLcPCoSbDDHgwCvInhNI055oDd56gSDpkjHewRtmQkK4dw9Dx9wHxE+Ps8fDwqw+GfK68Y9Zn4Rv8V3Ya+FZwz/7qyakJnzI4+7qgTr9wSL6n1UyHQCVd1lGMbmd/h8HjBdXc4TpMe+hJ/yG45xiYqxbt9TDcXng== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(39860400002)(136003)(376002)(366004)(396003)(83080400001)(9686003)(71200400001)(8676002)(55016002)(7416002)(86362001)(83380400001)(5660300002)(19627235002)(8936002)(4326008)(66446008)(66556008)(64756008)(66476007)(66946007)(52536014)(76116006)(478600001)(2906002)(33656002)(966005)(54906003)(316002)(6506007)(186003)(7696005)(53546011)(110136005)(26005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: cMbWO3GiXcEv/VLA1DoJeVngNdoa4beMLwrIqnUbdNd9zkUu638V+8L1aO7KePwouzuCvw+NzG0Je2Src516fGGJOTdB4Z7jika7ucNbLuK/cKfIk7+BIY9rCpJNtDs0x8nloIauISaW6KkSHMEpSHU3AXo99sFCR+eYQgkRI8jQoIVV4FBFKyzeXl6UBfc3CQvy5GU+Zrqax+OGdRqoo6eWYldfAa4clqq9dcxZeNFgSfzuNd7pOdZb3BE7WO5XE42bzaAuNxFAs3vcnguPNi9FNHuQZXuAUkYtugKdtp5OU29FQ8OUNH1fHCgi/l/VVJGPjpAITqhBoMEfSmgw5lAjP05TRZhAoABcK6xcBQ0Fkyfp1UejxYWybJJYb4VP6f34SYSGWqYBLFarz2ucA+qLxNw9hPoQDlthSOApTTgDFBA3llMSHi723fV3Bo/jbCNuOf9EwVQKIERMNWQmwLg0TrMzZLUgGw0YdSnh6t/iD6ydTtwiyGG9gl6VeRMSaFt4bsD98OFIMR/yNGAOfiCmUXlhQbcB78hwZHupmxiF1JL8Cwbx+aaqs1axJSlCXEkwniu9MK6wNhnEfk+ls4WODjLP8R3UY18buqu3P/Ba5PwMI0F96m9CjfGx94raGXfellFI7Im/e/LNIczaFA== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 53329070-e539-4042-7b57-08d868e81a50 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2020 04:35:35.3470 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9HQNsMud+6W7rMuqNkPGpOZVlQygXz56bWM0mSIYn8jAwrkz823rxY8YxvZLcjjyZwx/lmCZIrAm3caALY/jiQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1555 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Hao A Wu Best Regards, Hao Wu > -----Original Message----- > From: Sami Mujawar > Sent: Saturday, October 3, 2020 5:14 AM > To: devel@edk2.groups.io > Cc: Sami Mujawar ; ard.biesheuvel@arm.com; > leif@nuviainc.com; lersek@redhat.com; Wang, Jian J ; > Wu, Hao A ; Alexandru.Elisei@arm.com; > Andre.Przywara@arm.com; Matteo.Carlini@arm.com; Ben.Adderson@arm.com; > nd@arm.com > Subject: [PATCH v5 07/15] MdeModulePkg: Fix constructor invocation orderi= ng >=20 > The BaseSerialPortLib16550 library does not implement a constructor. This > prevents the correct constructor invocation order for dependent libraries= . > e.g. A PlatformHookLib (for the Serial Port) may have a dependency on > retrieving data from a Hob. A Hob library implementation may configure it= s > initial state in the HobLib constructor. Since BaseSerialPortLib16550 doe= s not > implement a constructor, the Basetools do not resolve the correct order f= or > constructor invocation. >=20 > To fix this, add an empty constructor to the serial port library > BaseSerialPortLib16550. >=20 > Signed-off-by: Sami Mujawar > Acked-by: Ard Biesheuvel > --- >=20 > Notes: > v5: > - Fix function documentation to match doxygen style. [Sa= mi] > Ref: https://edk2.groups.io/g/devel/message/62148 >=20 > v4: > - No code change, resending patch with v4 series. [Sa= mi] > Ref: https://edk2.groups.io/g/devel/topic/75081484 >=20 > MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c | > 17 +++++++++++++++++ > MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf |= 3 > +++ > 2 files changed, 20 insertions(+) >=20 > diff --git > a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c > b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.c > index > 9cb50dd80d5634ab2aa6d68bf5ca7fb891463eef..f10b5894663a979873427cffa8 > 4a37b3064c623e 100644 > --- a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.= c > +++ b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550 > +++ .c > @@ -4,6 +4,7 @@ > (C) Copyright 2014 Hewlett-Packard Development Company, L.P.
> Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
> Copyright (c) 2018, AMD Incorporated. All rights reserved.
> + Copyright (c) 2020, ARM Limited. All rights reserved. >=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @@ -1102,3 +1103,19 @@ SerialPortSetAttributes ( > return RETURN_SUCCESS; > } >=20 > +/** Base Serial Port 16550 Library Constructor > + > + @retval RETURN_SUCCESS Success. > +**/ > +EFI_STATUS > +EFIAPI > +BaseSerialPortLib16550 ( > + VOID > + ) > +{ > + // Nothing to do here. This constructor is added to > + // enable the chain of constructor invocation for > + // dependent libraries. > + return RETURN_SUCCESS; > +} > + > diff --git > a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf > b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf > index > 8b4ae3f1d4ee1e2e9a8b81eab4c900541ce8cfb6..92b7a8b7896a305d2ce22589f > 8a9593618d37bb7 100644 > --- > a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf > +++ b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550 > +++ .inf > @@ -2,6 +2,8 @@ > # SerialPortLib instance for 16550 UART. > # > # Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved. > +# Copyright (c) 2020, ARM Limited. All rights reserved. > +# > # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -14,6 +16,7 @@ > [Defines] > MODULE_TYPE =3D BASE > VERSION_STRING =3D 1.1 > LIBRARY_CLASS =3D SerialPortLib > + CONSTRUCTOR =3D BaseSerialPortLib16550 >=20 > [Packages] > MdePkg/MdePkg.dec > -- > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'