From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=michael.d.kinney@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (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 5AA3121962301 for ; Wed, 16 Jan 2019 13:19:58 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Jan 2019 13:19:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,487,1539673200"; d="scan'208";a="107139607" Received: from orsmsx104.amr.corp.intel.com ([10.22.225.131]) by orsmga007.jf.intel.com with ESMTP; 16 Jan 2019 13:19:57 -0800 Received: from orsmsx115.amr.corp.intel.com (10.22.240.11) by ORSMSX104.amr.corp.intel.com (10.22.225.131) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 16 Jan 2019 13:19:57 -0800 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.240]) by ORSMSX115.amr.corp.intel.com ([169.254.4.145]) with mapi id 14.03.0415.000; Wed, 16 Jan 2019 13:19:57 -0800 From: "Kinney, Michael D" To: Andrew Fish , "edk2-devel@lists.01.org" , "Kinney, Michael D" Thread-Topic: [edk2] History question about Base.h and its alternate parallel name space.... Should we change it? Thread-Index: AQHUrd6ShywsZwEiGEavur1WJbzcbqWyZKPw Date: Wed, 16 Jan 2019 21:19:56 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Subject: Re: History question about Base.h and its alternate parallel name space.... Should we change it? X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Jan 2019 21:19:58 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Andrew, I though the reason was a bit more technical. We have a MODULE_TYPE of BASE. Library instances that use the BASE MODULE_TYPE are declaring that the library interfaces are safe to be linked against a module of any other type (SEC, PEI, DXE, SMM, DXE_RUNTIME, UEFI_DRIVER, UEFI_APP). We needed to make sure that a lib of type BASE that includes Base.h as its top level include file only has visibility to the types that are safe for all the other module types. It is up to the top level include files for these other module types to provide the gasket to the types in Base.h. If we add aliases in Base.h, then we may not get build breaks when a lib of type BASE includes files that are not compatible with BASE. Thanks, Mike > -----Original Message----- > From: edk2-devel [mailto:edk2-devel- > bounces@lists.01.org] On Behalf Of Andrew Fish via edk2- > devel > Sent: Wednesday, January 16, 2019 1:00 PM > To: edk2-devel > Subject: [edk2] History question about Base.h and its > alternate parallel name space.... Should we change it? >=20 > I had some one ask me recently why EFI_GUID does not > work with #include . I explained they needed to > use GUID vs. EFI_GUID. That prompted the question of why > we have 2 names for the same thing..... Well the > historical answer was kind of political as some team > wanted to use edk2, but not implement EFI. Thus we have > EFI types without the EFI_ prefix in Base.h. >=20 > So all this got me thinking.... Maybe it makes sense to > move some of the renaming from > MdePkg/Include/Uefi/UefiBaseType.h to Base.h? Removing > the Base.h duplicate types would potentially hit lots of > code [1] and break merges with other code bases (break > other peoples Base libs etc.). >=20 > These lines in MdePkg/Include/Uefi/UefiBaseType.h would > get moved to MdePkg/Include/Base.h: > typedef GUID EFI_GUID; > typedef RETURN_STATUS EFI_STATUS; > #define EFIERR(_a) ENCODE_ERROR(_a) > #define EFI_ERROR(A) RETURN_ERROR(A) >=20 > #define EFI_SUCCESS RETURN_SUCCESS > #define EFI_LOAD_ERROR RETURN_LOAD_ERROR > #define EFI_INVALID_PARAMETER > RETURN_INVALID_PARAMETER > #define EFI_UNSUPPORTED RETURN_UNSUPPORTED > #define EFI_BAD_BUFFER_SIZE RETURN_BAD_BUFFER_SIZE > #define EFI_BUFFER_TOO_SMALL > RETURN_BUFFER_TOO_SMALL > #define EFI_NOT_READY RETURN_NOT_READY > #define EFI_DEVICE_ERROR RETURN_DEVICE_ERROR > #define EFI_WRITE_PROTECTED RETURN_WRITE_PROTECTED > #define EFI_OUT_OF_RESOURCES > RETURN_OUT_OF_RESOURCES > #define EFI_VOLUME_CORRUPTED > RETURN_VOLUME_CORRUPTED > #define EFI_VOLUME_FULL RETURN_VOLUME_FULL > #define EFI_NO_MEDIA RETURN_NO_MEDIA > #define EFI_MEDIA_CHANGED RETURN_MEDIA_CHANGED > #define EFI_NOT_FOUND RETURN_NOT_FOUND > #define EFI_ACCESS_DENIED RETURN_ACCESS_DENIED > #define EFI_NO_RESPONSE RETURN_NO_RESPONSE > #define EFI_NO_MAPPING RETURN_NO_MAPPING > #define EFI_TIMEOUT RETURN_TIMEOUT > #define EFI_NOT_STARTED RETURN_NOT_STARTED > #define EFI_ALREADY_STARTED RETURN_ALREADY_STARTED > #define EFI_ABORTED RETURN_ABORTED > #define EFI_ICMP_ERROR RETURN_ICMP_ERROR > #define EFI_TFTP_ERROR RETURN_TFTP_ERROR > #define EFI_PROTOCOL_ERROR RETURN_PROTOCOL_ERROR > #define EFI_INCOMPATIBLE_VERSION > RETURN_INCOMPATIBLE_VERSION > #define EFI_SECURITY_VIOLATION > RETURN_SECURITY_VIOLATION > #define EFI_CRC_ERROR RETURN_CRC_ERROR > #define EFI_END_OF_MEDIA RETURN_END_OF_MEDIA > #define EFI_END_OF_FILE RETURN_END_OF_FILE > #define EFI_INVALID_LANGUAGE > RETURN_INVALID_LANGUAGE > #define EFI_COMPROMISED_DATA > RETURN_COMPROMISED_DATA > #define EFI_HTTP_ERROR RETURN_HTTP_ERROR >=20 > #define EFI_WARN_UNKNOWN_GLYPH > RETURN_WARN_UNKNOWN_GLYPH > #define EFI_WARN_DELETE_FAILURE > RETURN_WARN_DELETE_FAILURE > #define EFI_WARN_WRITE_FAILURE > RETURN_WARN_WRITE_FAILURE > #define EFI_WARN_BUFFER_TOO_SMALL > RETURN_WARN_BUFFER_TOO_SMALL > #define EFI_WARN_STALE_DATA RETURN_WARN_STALE_DATA > #define EFI_WARN_FILE_SYSTEM > RETURN_WARN_FILE_SYSTEM >=20 > I'm interested what folks think about a change like > this? This change makes the alternate names optional. >=20 > I guess we could also leave the old Base.h definitions > in Base.h and cleanup the code to only use the EFI form, > but that is a much bigger change? >=20 > [1] RETURN_SUCCSS usage: git grep -w RETURN_SUCCESS >=20 > Thanks, >=20 > Andrew Fish >=20 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel