From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.2627.1665453089778092779 for ; Mon, 10 Oct 2022 18:51:30 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ObjELyRW; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665453089; x=1696989089; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=nPbeQEouGS23IcV/pdU29BSTMYZYENod3Rylaj9PLKQ=; b=ObjELyRWGoiKAK2IHAWwl/OpsSGmCEX6GLeKzPLGHHd2fa3omnSl1UJW cWDdqLOCLnIrGDJ1mAnQmT4kX8AVsMh1NdxinEGNLhnZoaqhZDB/rH8Jr zmEpsDUfVG1jYl7XiLBq8nOhTpN3eZOj70KsLQVojuAJbtLmaaECEIAFr 1S4Rtn4AjAbUSWONQbVCJaWbTW8Iy7EOo60XWktCp6Lot115pfc2vmMv5 /tc3PeSqNlUk978iLYJ7pZyGCs+c1RjtFXQKM5lZNGSrd7m+uCiBpwDYz VygbjM6zGlRKsh7S3yPeitDxAJePmKUiZhs93ka5BDL97D35QhU51m36j A==; X-IronPort-AV: E=McAfee;i="6500,9779,10496"; a="305436088" X-IronPort-AV: E=Sophos;i="5.95,173,1661842800"; d="scan'208";a="305436088" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Oct 2022 18:51:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10496"; a="603953408" X-IronPort-AV: E=Sophos;i="5.95,173,1661842800"; d="scan'208";a="603953408" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga006.jf.intel.com with ESMTP; 10 Oct 2022 18:51:28 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 10 Oct 2022 18:51:28 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 10 Oct 2022 18:51:27 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 10 Oct 2022 18:51:27 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.43) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 10 Oct 2022 18:51:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Geuz5POIb4/GK+pcDxpHSF0ZB2JjiL0glGlCeKwsThemCY0iavEu0dUDtc1p5MPNFm5C0Sla79vvcXX94m1jhjTYjVine1c2aHrp39JSbTpIuuryFw7Ly9jyVInuJb5BKosedSDfdKeXdDjmj+PmviaSaCQKnYD2uB2VLClSZ0sJg1NEwsbCzwL5jrd+MNpm4S6NH0sZP4QYMj7SsPMJhWdj05+BE1wUQxjC3b+UHXz8wIqJixvUSqTcHvs34ALfNCtWVa3YIVPywnp6KPFVKlQYkZ+ZM+D3pQwkI2EyuKfb3/crcNEIMsTWFc3kBRUlEiKwedBhboD/ATjFAk2Fig== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fj14qkHB0jxi26IG3wTLQ+3MF4pmsKrtIlL0hnXetyo=; b=F+UB907BFywUi8xDDlhAMbiPml/dl3+FYDAN91JPO1PsEEWXQiIuJ6nmnGx0UiSJwrF2+ymNTTIp8crH2Oezlj6mA+zZofEqe1l8hXhZ1lJcXWPBms7pxgOu+VdC5ed/xdJzpvwWIqVhLrZNBPyUJiVohhRB9fFBdxSfmkGRXS7WBLFgaGzGgsp4ue4z9GE41ccyGosTrLXu3VRdt2EM0DtD0YgaskA2AjIcyTYqw9NTuq7GWK/lJfrgxTh0pnjwEi8NvizlJ2UPINFUHO+f7m+JMEhZ9Hagq1lOy+ghQgMODROpHkN9j3T8vWKyPX0FE8fGsQo+4iauI8F3SxD5jg== 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 Received: from MWHPR11MB1631.namprd11.prod.outlook.com (2603:10b6:301:10::10) by SJ0PR11MB4975.namprd11.prod.outlook.com (2603:10b6:a03:2d0::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Tue, 11 Oct 2022 01:51:25 +0000 Received: from MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::483f:4bb5:a15f:f571]) by MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::483f:4bb5:a15f:f571%11]) with mapi id 15.20.5709.015; Tue, 11 Oct 2022 01:51:25 +0000 From: "Ni, Ray" To: "Chang, Abner" , "Kinney, Michael D" , "devel@edk2.groups.io" , "quic_llindhol@quicinc.com" , "Attar, AbdulLateef (Abdul Lateef)" , Sunil V L CC: lichao , "Kirkendall, Garrett" , "Grimes, Paul" , "He, Jiangang" , Andrew Fish Subject: Re: [edk2-devel] The principles of EDK2 module reconstruction for archs Thread-Topic: [edk2-devel] The principles of EDK2 module reconstruction for archs Thread-Index: AdjPX4ZZG0rDXS4WTdOIWvoiYOLYcgC9rttQAC2dmIAADxJbkAAiVmtwAABqVrAAMdRUkAARY7IwAAF/rYAABYT70AB0Z6+AAAYqDgAAADksgAAYA9igACxnOYAAAHOkMAAgQPVgADh436AA7UPNIA== Date: Tue, 11 Oct 2022 01:51:24 +0000 Message-ID: References: <0c1ee7b8-9ecf-3f46-ac36-9d1464831263@quicinc.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-10-06T08:37:09Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=03c786de-7418-4e85-aaa1-fce5a654a4e3; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MWHPR11MB1631:EE_|SJ0PR11MB4975:EE_ x-ms-office365-filtering-correlation-id: e52c0d34-e6c7-4b2d-f720-08daab2b1af2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uvkpNWHJP0DDLKqU2MooWfYDbHz8GtquOHh5pVRE0nFUV82Q1/gnP5Z0fyu4pXCvfkw3plyVgxMdai1MMVTMl8a5G5n1islf3ewpYJim5a6Fb3BPnrvDFuaIUlz8vmuACY8mLryPghVBxyLgVDqBT/JkaazqTu1lkohqTGyWF4Qn02pnARRjpFmmu4aWWS0DobeU7LsSRH+LxqF9UjMN/5UVCXVdkTV6j6owRKDG1ScQWyufni36Mkb67PMigzeRyx3sE4x4vq5sbSeJm8fIrTI6M89bv+au0UcuW6AOqGQ3B9T5zDFtdpQJUOSEzk0aNbxhoeijZ/Dfe0ii2zN/TaRbnvqO+ILab/RPb+v5j8o8XWjTI9S68LEt7OozP6Mdt1rlVfhLjuSbP1BRkN8j1sNDUvFjOzyd+zNJZG8tbczGOF9I4kYRJOgozehTNK7KZWSfLqCRnqUTwok3583fJG7Dy++GsQbOiaikrEXfM5U0LilNnzCz/feI/I+cyD6PmG8Rva1oPD6Ko4a3CAP0nHffoAit7yFmmhwIOanR5tLXQb8yzI6e+0RNfRKAAnJfP2EMb+c+lrEIVKRiSwO0ch1nRTuSzy/zc84DGbbmHxRMCROs7QG0WNNvau78SbIiZUC3U0pDTVlKvBakSjnmqiU/RULwG0BwLPNSmfY5Ewvq/BbSd8bUUFgfNvM4i3r/UqXhqp7LR6jn9tllNUX0ZWU2WxQiZinI1jyCXIbFazdRf70s1gUH4YWhNvPlgHmJFsAOuwdCkAOBtJVFyGKEuG1kzL97qfjzpcJeY1Vv8Sw9ZeXGd40k31V9WEJdCw+Cj4FY3/FUG+HROlMpaio83w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1631.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(39860400002)(376002)(136003)(346002)(451199015)(2906002)(66899015)(7696005)(54906003)(4326008)(7416002)(8676002)(66446008)(66946007)(316002)(66476007)(33656002)(110136005)(19627235002)(41300700001)(66556008)(966005)(52536014)(8936002)(86362001)(76116006)(30864003)(5660300002)(64756008)(478600001)(45080400002)(71200400001)(6506007)(83380400001)(186003)(53546011)(55016003)(82960400001)(38070700005)(26005)(122000001)(9686003)(38100700002)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?9lUe9M8s7/pVh/5m6jc3elYGknKvSVepstDLPGjwC5ZYmt23zA6cxCuDNyzX?= =?us-ascii?Q?BfAidMTeN2Gz94BR/AwDn9T6Sf6VRWUkJjNsZhG7J9AklFuyFINlat46U5et?= =?us-ascii?Q?lBKsX4jmycHhfZ9ZScMTvtuw6CINjCJsma3quFWoYOWDvvzfzU0hJDkN0wfq?= =?us-ascii?Q?LOm0clt87ceduuZaZAVY3v5oKUBlUS6L8vX0UXZZC2M1tJOyoCyD7tdwdo/S?= =?us-ascii?Q?37DWlx+q/GeyvE+qO/uqyUxA2ps5OXIV/khQDPY9mVHukDOb1+BMMboujqlx?= =?us-ascii?Q?iff/mkwVSf+vRQAn+ynvPNFR8J9Wh2UtR3Jjz3Lj8oxPMfQUUrK+x1EbhGa1?= =?us-ascii?Q?cfpbSYxRYCoq8hTyJ578Ybkc+bksdvgHvHJBTwTfyswXH+G/Sr7bzWinkjLK?= =?us-ascii?Q?mHdu1DULmtst5nukjJElp31g+QGZ/MEHZCEkP4jNpke4/LACMTEimKVtlr/w?= =?us-ascii?Q?EoRC4sFRA3dt+28ntektrz6K/ijowsYIQrdamByoxPjQNWrNPphzolEyTiSy?= =?us-ascii?Q?/oGzNw/SNBwmBfF51OcS6lbI9qa+KFbc0nRUxNqDPoS8KAlIvxtGYg4sdeEY?= =?us-ascii?Q?xEiW+fixgMVSRMO4cxI9GjjJScG0NHkAcPVCx2EfM8TM5JytMbw8Ffe6QvfU?= =?us-ascii?Q?V9n0d7zZkWR3pRRCMKRq8bEDxtC20SjssRtv4vL6FblUYsYYI8T5fHkVe/ZJ?= =?us-ascii?Q?GmS+/uJQGOu481xRsptgVuZz6IzjF0L+UnRpxyG3LG0xMalAIcSWyA5nNjRy?= =?us-ascii?Q?bhwSU2A8nLLflmlRq0AAm14TTe04ftIn9dkxZaHpbBYN+hI3v3SmE01AKG7D?= =?us-ascii?Q?bmVUxBXLx9fEkKyK3l3V1DFQ7CWkwQsOX6RUXG1PWIltGZlIoA/mXvhwp4eS?= =?us-ascii?Q?RaT9ZuNN2hP2nVtasqlKhL+ATUHgohPl8wBrXXJwBoz5+dixV2QT5zSiFaXg?= =?us-ascii?Q?dcRjKfXAAYG0cOh82n2hN+7OBjYRnsMqcSAGuv/ngj3oi5PJLE3MQKmh5G1a?= =?us-ascii?Q?y6gJwP20k5Q2KAAj/vxSGsKWSIOMSB86KvwEUMYsopj06AZnS1qUyX5fzmFV?= =?us-ascii?Q?VPeS7TUfDS/sHoDaiXsDqlFCjUjlW0xtIOwxWaWf59oaCJ322H86/wAHG2SE?= =?us-ascii?Q?BLlSIWrFU3aCP6NspJHqnwq2kKZBuo5/r/vMTwzMhVHN2ECGdxTvRVIXPLV8?= =?us-ascii?Q?cmREs01gQ6MTgiYmktGvb18W+slp9AzG5AZp5w7/c1SGd4w6MhOAfJ/5R9qx?= =?us-ascii?Q?l4K2zmtlBVX7Bm5sCDkVw3bpHoja83LREbiSF+rY/hhnPRMQfrnMkct71iVM?= =?us-ascii?Q?G2bKND2iCwiUITY9D9v0waL8i+6M99WLDYN9KWmQ8vRHVw0hNfqyHPTP9Duw?= =?us-ascii?Q?LRLUIQ/5LCmxQJMdFfLUr8s2swnaAysLV3IzvP+ByHGjf4bJ0t8mXE0mt64L?= =?us-ascii?Q?ed+aKLqNntqxt864upOk+/MsiLxbRNGsnT+DlMZaWtFB5mexFA1SLxpUoHsa?= =?us-ascii?Q?sp2a3S2FeTt29raFYgg2tIrC9Wr+eBNpP1Y9WX2nLFfHr2QExbrscB22mm1v?= =?us-ascii?Q?wph/9VKPBHbivmSeQOQHP+tVBlbbJ1EbMEs6v8Uf?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1631.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e52c0d34-e6c7-4b2d-f720-08daab2b1af2 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2022 01:51:25.0108 (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: GMId1mYOVwh54CBMz6fEQmdLB4nmR78GRVfNnYA5eP1+wVFraL+Pk0u+dTgW/44/A1hPQ/TmqjgbWCQzaOyI8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB4975 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Abner, Mike, Leif, "Ia32_X64" is the first case in edk2 that underscore "_" is used as part of= file path. Shall we use "Ia32X64" (removing "_")? I know that Sunil is following the guideline. https://edk2.groups.io/g/devel/message/94912?p=3D%2C%2C%2C20%2C0%2C0%2C0%3A= %3Arecentpostdate%2Fsticky%2C%2CUefiCpuPkg%2FCpuTimerLib%2C20%2C2%2C0%2C942= 33015 Thanks, Ray > -----Original Message----- > From: Chang, Abner > Sent: Thursday, October 6, 2022 4:37 PM > To: Kinney, Michael D ; devel@edk2.groups.io; > quic_llindhol@quicinc.com; Ni, Ray ; Attar, AbdulLateef > (Abdul Lateef) ; Sunil V L > > Cc: lichao ; Kirkendall, Garrett > ; Grimes, Paul ; He, > Jiangang ; Andrew Fish > Subject: RE: [edk2-devel] The principles of EDK2 module reconstruction fo= r > archs >=20 > [AMD Official Use Only - General] >=20 > Here is the update of the Wiki page for the consistency with edk2 C Codin= g > Standard Spec. > https://github.com/changab/tianocore.github.io/wiki/The-Guidelines-of- > Reconstruct-EDK-II-Modules-for-Processor-Architectures-and-Vendors'- > Implementation >=20 > Thanks > Abner >=20 > > -----Original Message----- > > From: Chang, Abner > > Sent: Wednesday, October 5, 2022 1:39 PM > > To: Kinney, Michael D ; > devel@edk2.groups.io; > > quic_llindhol@quicinc.com; Ni, Ray ; Attar, AbdulLate= ef > > (Abdul Lateef) ; Sunil V L > > > > Cc: lichao ; Kirkendall, Garrett > > ; Grimes, Paul ; > He, > > Jiangang ; Andrew Fish > > Subject: RE: [edk2-devel] The principles of EDK2 module reconstruction = for > > archs > > > > [AMD Official Use Only - General] > > > > PR updated > > https://github.com/tianocore-docs/edk2- > > CCodingStandardsSpecification/pull/2/commits. Please check it. > > > > Thanks > > Abner > > > > > -----Original Message----- > > > From: Kinney, Michael D > > > Sent: Tuesday, October 4, 2022 10:18 PM > > > To: Chang, Abner ; devel@edk2.groups.io; > > > quic_llindhol@quicinc.com; Ni, Ray ; Attar, > > > AbdulLateef (Abdul Lateef) ; Sunil V L > > > ; Kinney, Michael D > > > > > > Cc: lichao ; Kirkendall, Garrett > > > ; Grimes, Paul ; > > He, > > > Jiangang ; Andrew Fish > > > Subject: RE: [edk2-devel] The principles of EDK2 module reconstructio= n > > > for archs > > > > > > Caution: This message originated from an External Source. Use proper > > > caution when opening attachments, clicking links, or responding. > > > > > > > > > I would not add link to Wiki from EDK II C Coding Standard Specificat= ion. > > > > > > We want documents published from tianocore-docs to support > standalone > > > formats such as PDF and if there is a link in one of those documents, > > > we want to know that it is a permanent link. I am concerned we may > > > reorganize Wiki pages and links in PDF would become stale. > > > > > > Links from Wiki to specs makes sense. > > > > > > Mike > > > > > > > -----Original Message----- > > > > From: Chang, Abner > > > > Sent: Tuesday, October 4, 2022 7:05 AM > > > > To: Kinney, Michael D ; > > > > devel@edk2.groups.io; quic_llindhol@quicinc.com; Ni, Ray > > > > ; Attar, AbdulLateef (Abdul Lateef) > > > > ; Sunil V L > > > > Cc: lichao ; Kirkendall, Garrett > > > > ; Grimes, Paul > ; > > > > He, Jiangang ; Andrew Fish > > > > > Subject: RE: [edk2-devel] The principles of EDK2 module > > > > reconstruction for archs > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: Kinney, Michael D > > > > > Sent: Tuesday, October 4, 2022 12:54 AM > > > > > To: devel@edk2.groups.io; Chang, Abner ; > > > > > quic_llindhol@quicinc.com; Ni, Ray ; Attar, > > > > > AbdulLateef (Abdul Lateef) ; Sunil V L > > > > > ; Kinney, Michael D > > > > > > > > > > Cc: lichao ; Kirkendall, Garrett > > > > > ; Grimes, Paul > > ; > > > > > He, Jiangang ; Andrew Fish > > > > > > > Subject: RE: [edk2-devel] The principles of EDK2 module > > > > > reconstruction for archs > > > > > > > > > > Caution: This message originated from an External Source. Use > > > > > proper caution when opening attachments, clicking links, or > responding. > > > > > > > > > > > > > > > Hi Abner, > > > > > > > > > > responses below. > > > > > > > > > > Mike > > > > > > > > > > > -----Original Message----- > > > > > > From: devel@edk2.groups.io On Behalf Of > > > > > > Chang, Abner via groups.io > > > > > > Sent: Sunday, October 2, 2022 10:37 PM > > > > > > To: Kinney, Michael D ; > > > > > > devel@edk2.groups.io; quic_llindhol@quicinc.com; Ni, Ray > > > > > > ; Attar, AbdulLateef (Abdul Lateef) > > > > > > ; Sunil V L > > > > > > > > > > > > Cc: lichao ; Kirkendall, Garrett > > > > > > ; Grimes, Paul > > > > > > ; > > > > > He, > > > > > > Jiangang ; Andrew Fish > > > > > > Subject: Re: [edk2-devel] The principles of EDK2 module > > > > > > reconstruction for archs > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > Mike, > > > > > > Agree. This can be mentioned on the Wiki page. Also, this would > > > > > > require the discussion between maintainer and contributor. I > > > > > > would say > > > > > maintainer has the responsibility to make sure an arch folder is > > > > > only created when necessary. > > > > > > > > > > Agreed > > > > Ok, I will update Directory and file names section. > > > > > > > > > > > > > > > > > Do you agree with the arch concatenate solution for arch folder= ? > > > > > > That > > > > > means IA32_X64 instead of X86 (I am fine with this)? > > > > > > > > > > Yes > > > > > > > > > > > However, there is one scenario. Assume there were two arch > > > > > > folders > > > > > > IA32_X64 and RISCV64. Then ARM shares the code with IA32_X64, > we > > > > > > may > > > > > rename IA32_X64 to IA32_X64_ARM. > > > > > > Although the directory naming is not real a problem to the > > > > > > build, a separate ARM folder seems easier? Or we can just allow > > > > > > this kind of folder > > > > > naming structure, however we let maintainer to make the decision? > > > > > > > > > > I would let the maintainer make the decision. For your example, > > > > > another approach may be to move the IA32_X64 content up a level s= o > > > > > it is common and is used by IA32, X64, ARM. And leave RISCV64 > > > > > folder for an arch that has special requirements. I think having > > > > > some flexibility in the guidelines is very beneficial. The main > > > > > goal is for consistency when a specific guideline is followed. > > > > I think we can have the naming rules in the edk2 C coding standard > > > > spec and > > > put these guidelines on the Wiki page. > > > > Is that ok to have a link to Wiki page in the edk2 C coding standar= d spec? > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Kinney, Michael D > > > > > > > Sent: Monday, October 3, 2022 1:18 PM > > > > > > > To: Chang, Abner ; > > devel@edk2.groups.io; > > > > > > > quic_llindhol@quicinc.com; Ni, Ray ; Attar, > > > > > > > AbdulLateef (Abdul Lateef) ; Sunil > > > > > > > V L ; Kinney, Michael D > > > > > > > > > > > > > > Cc: lichao ; Kirkendall, Garrett > > > > > > > ; Grimes, Paul > > > > > > > ; He, Jiangang > ; > > > > > > > Andrew Fish > > > > > > > Subject: RE: [edk2-devel] The principles of EDK2 module > > > > > > > reconstruction for archs > > > > > > > > > > > > > > Caution: This message originated from an External Source. Use > > > > > > > proper caution when opening attachments, clicking links, or > > responding. > > > > > > > > > > > > > > > > > > > > > Abner, > > > > > > > > > > > > > > I think another guideline is to minimize the number of > > subdirectories. > > > > > > > > > > > > > > Only create them if it helps with the organization and long > > > > > > > term maintenance of the component. > > > > > > > > > > > > > > Mike > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > From: Chang, Abner > > > > > > > > Sent: Sunday, October 2, 2022 8:13 PM > > > > > > > > To: Kinney, Michael D ; > > > > > > > > devel@edk2.groups.io; quic_llindhol@quicinc.com; Ni, Ray > > > > > > > > ; Attar, AbdulLateef (Abdul Lateef) > > > > > > > > ; Sunil V L > > > > > > > > > > > > > > > > Cc: lichao ; Kirkendall, Garrett > > > > > > > > ; Grimes, Paul > > > > > ; > > > > > > > He, > > > > > > > > Jiangang ; Andrew Fish > > > > > > > > > > > > > > > > Subject: RE: [edk2-devel] The principles of EDK2 module > > > > > > > > reconstruction for archs > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > Hi Mike and Leif, > > > > > > > > First of all, we don't use arch folder if the module is > > > > > > > > mainly for a specific arch in obviously. So we will have > > > > > > > > both common and arch-specific > > > > > > > files constructed under module/library root. > > > > > > > > > > > > > > > > > > > > > > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2F > > > > > ed > > > > > > > k > > > > > > > 2 > > > > > > > > > > > > > > > > > > .groups.io%2Fg%2Fdevel%2Fmessage%2F94567&data=3D05%7C01%7C > A > > > > > > > bner.Chan > > > > > > > > > > > > > > > > > > > > > > > > > > g%40amd.com%7Cd49cbbe6d3d942bd69a308daa4fea41b%7C3dd8961fe4884 > > > > > > > e608e11a > > > > > > > > > > > > > > > > > > > > > > > > > > 82d994e183d%7C0%7C0%7C638003710850252776%7CUnknown%7CTWFpbGZ > > > > > > > sb3d8eyJWI > > > > > > > > > > > > > > > > > > > > > > > > > > joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > > > > > > > 000%7 > > > > > > > > > > > > > > > > > > > > > > > C%7C%7C&sdata=3DeiLOC0G9WZWKqm2ALcAiKr7SPBP5AgDdAxogHlv5pI > > > > > > > M%3D&r > > > > > > > > eserved=3D0 > > > > > > > > SmmCpuFeatureLib\Ia32 > > > > > > > > SmmCpuFeatureLib\X64 > > > > > > > > SmmCpuFeatureLib\SmmCpuFeatureLib.c > > > > > > > > SmmCpuFeatureLib\SmmCpuFeatureLibCommon.c > > > > > > > > SmmCpuFeatureLib\IntelSmmCPuFeaturesLib > > > > > > > > SmmCpuFeatureLib\AmdlSmmCPuFeaturesLib > > > > > > > > > > > > > > > > > > > > > > > > > > Could we concatenate architectures? > > > > > > > > > > I.e. AARCH64_ARM, IA32_X64, AARCH64_RISCV64... ? > > > > > > > > Looks like below? > > > > > > > > > > > > > > > > CpuDxe\IA32_X64\IA32\abc.nasm > > CpuDxe\IA32_X64\X64\abc.nasm > > > > > > > > CpuDxe\IA32_X64\CpuDxe.c CpuDxe\IA32_X64\AmdCpuDxe.c > > > > > > > > CpuDxe\IA32_X64\IntelCpuDxe.c CpuDxe\RiscV64\CpuDxe.c > > > > > > > > CpuDxe\ARM\CpuDxe.c CpuDxe\ > > > > > > > > CpuDxeCommon.c // If required. > > > > > > > > CpuDxe.inf // Use INF section= arch modifier for > X86, > > > > > RISC-V > > > > > > > and ARM. > > > > > > > > CpuDxeAmd.inf // Separate INF for AM= D. > > > > > > > > > > > > > > > > Seems ok, but is AARCH64_RISCV64 a real case? Or it means > > > > > > > > we can create a folder "AARCH64_RISCV64" when there are > some > > > > > > > > common > > > > > files > > > > > > > shared by AARCH64 and RISCV64? > > > > > > > > > > > > > > > > For the 32/64 bit support, it can still stay under module > > > > > > > > root and don't need to assign a folder for them unless the > > > > > > > > arch has the different > > > > > > > implementation. > > > > > > > > Regards, > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > From: Kinney, Michael D > > > > > > > > > Sent: Saturday, October 1, 2022 2:52 AM > > > > > > > > > To: devel@edk2.groups.io; quic_llindhol@quicinc.com; > > > > > > > > > Chang, Abner ; Ni, Ray > > > > > > > > > ; Attar, AbdulLateef (Abdul Lateef) > > > > > > > > > ; Sunil V L > > > > > > > > > ; Kinney, Michael D > > > > > > > > > > > > > > > > > > Cc: lichao ; Kirkendall, Garrett > > > > > > > > > ; Grimes, Paul > > > > > > > > > ; He, Jiangang > > ; > > > > > > > > > Andrew Fish > > > > > > > > > Subject: RE: [edk2-devel] The principles of EDK2 module > > > > > > > > > reconstruction for archs > > > > > > > > > > > > > > > > > > Caution: This message originated from an External Source. > > > > > > > > > Use proper caution when opening attachments, clicking > > > > > > > > > links, or > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Leif, > > > > > > > > > > > > > > > > > > Concatenation is a good idea. Makes it more obvious and > > > > > > > > > can be easily adopted for new CPU archs. > > > > > > > > > > > > > > > > > > There is an additional case where an implementation does > > > > > > > > > not have differences based on CPU Arch or Vendor, but it > > > > > > > > > does have differences based on the bit- width of the CPU. > > > > > > > > > Take BaseSafeIntLib as > > > > > > > an example. > > > > > > > > > It has source files for 32-bit CPUs, 64-bit CPUs, and CPU > > > > > > > > > arch specific file for Ebc because Ebc adapts to 32-bit o= r > > > > > > > > > 64-bit depending on the CPU type the EBC Interpreter is > running. > > > > > > > > > > > > > > > > > > MdePkg/Library/BaseSafeIntLib/ > > > > > > > > > BaseSafeIntLib.inf > > > > > > > > > SafeIntLib.c > > > > > > > > > SafeIntLib32.c > > > > > > > > > SafeIntLib64.c > > > > > > > > > SafeIntLibEbc.c > > > > > > > > > > > > > > > > > > Should we add "32" and "64" as supported suffices in file > names? > > > > > > > > > > > > > > > > > > If we wanted to put type content into a subdirectory, wha= t > > > > > > > > > would be the suggested directory name for "32" and "64". > > > > > > > > > Or do we want to require this type of difference to alway= s > > > > > > > > > be files in top level directory of > > > > > > > the modules/library? > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > Mike > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > From: devel@edk2.groups.io On > > > > > > > > > > Behalf Of Leif Lindholm > > > > > > > > > > Sent: Friday, September 30, 2022 9:09 AM > > > > > > > > > > To: devel@edk2.groups.io; Kinney, Michael D > > > > > > > > > > ; Chang, Abner > > > > > > > ; > > > > > > > > > > Ni, Ray ; Attar, AbdulLateef (Abdul > > > > > > > > > > Lateef) ; Sunil V L > > > > > > > > > > > > > > > > > > > > Cc: lichao ; Kirkendall, Garrett > > > > > > > > > > ; Grimes, Paul > > > > > > > ; > > > > > > > > > > He, Jiangang ; Andrew Fish > > > > > > > > > > > > > > > > > Subject: Re: [edk2-devel] The principles of EDK2 module > > > > > > > > > > reconstruction for archs > > > > > > > > > > > > > > > > > > > > I agree similar things will certainly happen for > > > > > > > > > > ARM/AARCH64, which will probably be noticeable when I > > > > > > > > > > start eradicating ArmPkg and putting the arch-standard > > > > > > > > > > bits into > > > (mostly) MdePkg. > > > > > > > > > > > > > > > > > > > > But I like the ability to see already at the filesystem > > > > > > > > > > level which files belong to the architecture I'm > > > > > > > > > > currently working on and > > > > > > > which don't. > > > > > > > > > > > > > > > > > > > > Could we concatenate architectures? > > > > > > > > > > I.e. AARCH64_ARM, IA32_X64, AARCH64_RISCV64... ? > > > > > > > > > > > > > > > > > > > > / > > > > > > > > > > Leif > > > > > > > > > > > > > > > > > > > > On 2022-09-30 08:28, Michael D Kinney wrote: > > > > > > > > > > > Hi Abner, > > > > > > > > > > > > > > > > > > > > > > One comment is on adding a new CPU type dir name of > 'X86' > > > > > > > > > > > for content that is common for IA32/X64. > > > > > > > > > > > > > > > > > > > > > > I can imagine a similar case for ARM/AARCH64 and for > > > > > > > > > > > the RISCV (32, 64, 128) cases. > > > > > > > > > > > > > > > > > > > > > > I think I would prefer to drop X86 and if there are > > > > > > > > > > > files that are common to multiple CPU architectures > > > > > > > > > > > then they are considered common and are in top > > > > > > > > > > > directory of module and the file header and INF file > > > > > > > > > > > can clearly document which CPU archs the file > > > > > > > applies. > > > > > > > > > > > > > > > > > > > > > > Mike > > > > > > > > > > > > > > > > > > > > > >> -----Original Message----- > > > > > > > > > > >> From: Chang, Abner > > > > > > > > > > >> Sent: Friday, September 30, 2022 12:11 AM > > > > > > > > > > >> To: Ni, Ray ; Attar, AbdulLateef > > > > > > > > > > >> (Abdul > > > > > > > > > > >> Lateef) ; Sunil V L > > > > > > > > > > >> ; devel@edk2.groups.io; > > > > > > > > > > >> Kinney, Michael D > > > > > > > > > > >> Cc: lichao ; Kirkendall, Garrett > > > > > > > > > > >> ; Grimes, Paul > > > > > > > > > > >> ; He, Jiangang > > > > > ; > > > > > > > Leif > > > > > > > > > > >> Lindholm ; Andrew Fish > > > > > > > > > > >> > > > > > > > > > > >> Subject: RE: [edk2-devel] The principles of EDK2 > > > > > > > > > > >> module reconstruction for archs > > > > > > > > > > >> > > > > > > > > > > >> [AMD Official Use Only - General] > > > > > > > > > > >> > > > > > > > > > > >> Thanks Ray, here are my responses. > > > > > > > > > > >> https://nam11.safelinks.protection.outlook.com/?url= =3Dh > > > > > > > > > > >> tt > > > > > > > > > > >> ps%3 > > > > > > > > > > >> A%2F > > > > > > > > > > >> %2Fg > > > > > > > > > > >> ithub.com%2Ftianocore-docs%2Fedk2- > > > > > > > CCodingStandardsSpecification > > > > > > > > > > >> %2Fp > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > ull%2F2&data=3D05%7C01%7CAbner.Chang%40amd.com%7C7c3292c8bd2 > > > > > > > f4 > > > > > > > > > 86f > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > 920908daa314e8e6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6 > > > > > > > > > 3800 > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > 1607445876768%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC > > > > > > > JQ > > > > > > > > > IjoiV > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata > > > > > > > =3D > > > > > > > > > HAq > > > > > > > > > > >> > > > > > > > > > > > > > > ou4JyY1yxDthuQ1dEKcF7Q3o4W77Oo9rOOvkXNWU%3D&reserved=3D0 > > > > > > > > > > >> > > > > > > > > > > >> @Kinney, Michael D we may also need your > > > > > > > > > > >> clarification on the > > > > > > > comments. > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >>> -----Original Message----- > > > > > > > > > > >>> From: Ni, Ray > > > > > > > > > > >>> Sent: Thursday, September 29, 2022 3:42 PM > > > > > > > > > > >>> To: Attar, AbdulLateef (Abdul Lateef) > > > > > > > > > > >>> ; Chang, Abner > > > > > > > > > > >>> ; Sunil V L > > > > > > > > > > >>> ; devel@edk2.groups.io > > > > > > > > > > >>> Cc: Kinney, Michael D ; > > > > > > > > > > >>> lichao ; Kirkendall, Garrett > > > > > > > > > > >>> ; Grimes, Paul > > > > > > > > > > >>> ; He, Jiangang > > > > > ; > > > > > > > > > > >>> Leif Lindholm ; Andrew > > > > > > > > > > >>> Fish > > > > > > > > > > >>> Subject: RE: [edk2-devel] The principles of EDK2 > > > > > > > > > > >>> module reconstruction for archs > > > > > > > > > > >>> > > > > > > > > > > >>> Caution: This message originated from an External > Source. > > > > > > > > > > >>> Use proper caution when opening attachments, > > > > > > > > > > >>> clicking links, or > > > > > > > responding. > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > > >>> Abner, > > > > > > > > > > >>> Comments in > > > > > > > > > > >>> https://nam11.safelinks.protection.outlook.com/?url= =3D > > > > > > > > > > >>> ht > > > > > > > > > > >>> tps% > > > > > > > > > > >>> 3A%2 > > > > > > > > > > >>> F%2F > > > > > > > > > > >>> gith > > > > > > > > > > >>> ub.com%2Ftianocore-docs%2Fedk2- > > > > > > > > > > >>> > CCodingStandardsSpecification%2Fpull%2F2%23pullreque > > > > > > > > > > >>> st > > > > > > > > > > >>> revi > > > > > > > > > > >>> ew- > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > 1124763311&data=3D05%7C01%7CAbner.Chang%40amd.com%7Cd825e24 > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > 8625541e3f43e08daa1ee2883%7C3dd8961fe4884e608e11a82d994e183d%7C0 > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > %7C0%7C638000341502885565%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM > C > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000% > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > 7C%7C%7C&sdata=3DRXxgpbEr6ivbqP1R6%2B3Rxl%2ByJAnaUJuaYYKdfCH > > > > > > > > > > >>> 8jo8%3D&reserved=3D0 > > > > > > > > > > >>> > > > > > > > > > > >>> We can discuss more in tomorrow's meeting. > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > > >>>> -----Original Message----- > > > > > > > > > > >>>> From: Attar, AbdulLateef (Abdul Lateef) > > > > > > > > > > >>>> > > > > > > > > > > >>>> Sent: Thursday, September 29, 2022 3:11 PM > > > > > > > > > > >>>> To: Chang, Abner ; Sunil V L > > > > > > > > > > >>>> ; devel@edk2.groups.io; > > > > > > > > > > >>>> Ni, Ray > > > > > > > > > > >>>> Cc: Kinney, Michael D = ; > > > > > > > > > > >>>> lichao ; Kirkendall, Garrett > > > > > > > > > > >>>> ; Grimes, Paul > > > > > > > > > > >>>> ; > > > > > > > > > > >>> He, > > > > > > > > > > >>>> Jiangang ; Leif Lindholm > > > > > > > > > > >>>> ; Andrew Fish > > > > > > > > > > >>>> > > > > > > > > > > >>>> Subject: RE: [edk2-devel] The principles of EDK2 > > > > > > > > > > >>>> module reconstruction for archs > > > > > > > > > > >>>> > > > > > > > > > > >>>> Hi Abner, > > > > > > > > > > >>>> Looks good to me. > > > > > > > > > > >>>> Reviewed-by: Abdul Lateef Attar > > > > > > > > > > >>>> > > > > > > > > > > >>>> Thanks > > > > > > > > > > >>>> AbduL > > > > > > > > > > >>>> > > > > > > > > > > >>>> -----Original Message----- > > > > > > > > > > >>>> From: Chang, Abner > > > > > > > > > > >>>> Sent: 28 September 2022 20:31 > > > > > > > > > > >>>> To: Sunil V L ; > > > > > > > > > > >>>> devel@edk2.groups.io; ray.ni@intel.com > > > > > > > > > > >>>> Cc: Kinney, Michael D = ; > > > > > > > > > > >>>> lichao ; Kirkendall, Garrett > > > > > > > > > > >>>> ; Grimes, Paul > > > > > > > > > > >>>> ; > > > > > > > > > > >>> He, > > > > > > > > > > >>>> Jiangang ; Attar, AbdulLateef > > > > > > > > > > >>>> (Abdul > > > > > > > > > > >>>> Lateef) ; Leif Lindholm > > > > > > > > > > >>>> ; Andrew Fish > > > > > > > > > > >>>> > > > > > > > > > > >>>> Subject: RE: [edk2-devel] The principles of EDK2 > > > > > > > > > > >>>> module reconstruction for archs > > > > > > > > > > >>>> > > > > > > > > > > >>>> [AMD Official Use Only - General] > > > > > > > > > > >>>> > > > > > > > > > > >>>> I just had created PR to update edkII C coding > > > > > > > > > > >>>> standard spec for the file and directory naming. W= e > > > > > > > > > > >>>> can review and confirm this update first and then > > > > > > > > > > >>>> go back to the principles of EDK2 module > > > > > > > > > reconstruction for archs. > > > > > > > > > > >>>> Here is the PR: > > > > > > > > > > >>>> > > > > > > > > > > >>> https://nam11.safelinks.protection.outlook.com/?url= =3D > > > > > > > > > > >>> ht > > > > > > > > > > >>> tps% > > > > > > > > > > >>> 3A%2 > > > > > > > > > > >>> F%2F > > > > > > > > > > >>> gith > > > > > > > > > > >>>> ub.com%2Ftianocore-docs%2Fedk2- > > > > > > > > > > >>> &data=3D05%7C01%7CAbner.Chang%40amd.c > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > om%7Cd825e248625541e3f43e08daa1ee2883%7C3dd8961fe4884e608e11a82 > > > > > > > > > > >>> d994e18 > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > 3d%7C0%7C0%7C638000341502885565%7CUnknown%7CTWFpbGZsb3d8eyJ > > > > > > > > > > >>> WIjoiMC4wLj > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C% > > > > > > > > > > >>> 7C%7C&a > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > mp;sdata=3DX4z9puj81nIGTqtMxC9igDZyBPOT6OTWSU%2BjoIowo%2BE%3D&a > > > > > > > > > > >>> mp;reserv > > > > > > > > > > >>>> ed=3D0 > > > > > > > > > > >>>> CCodingStandardsSpecification/pull/2 > > > > > > > > > > >>>> > > > > > > > > > > >>>> The naming rule is mainly for the new module or ne= w > file > > IMO. > > > > > > > > > > >>>> Some existing module may not meet the guidelines > > > > > > > > > > >>>> mentioned in this > > > > > > > > > spec. > > > > > > > > > > >>>> Thus we need the principles of EDK2 module > > > > > > > > > > >>>> reconstruction on the existing module to support > > > > > > > > > > >>>> other processor archs and not impacting the > > > > > > > > > > >>> existing platforms (e.g. > > > > > > > > > > >>>> rename the INF file or directory to meet the > guidelines). > > > > > > > > > > >>>> > > > > > > > > > > >>>> Sunil, seems RISC-V CpuDxe meet the guideline. > > > > > > > > > > >>>> Please check > > > > > it. > > > > > > > > > > >>>> Just feel that having CpuDxe.c to Riscv64 folder > > > > > > > > > > >>>> is not quite a best solution. I think at least we > > > > > > > > > > >>>> can abstract the protocol structure and protocol > > > > > > > > > > >>>> installation under CpuDxe\ and have the arch > > > > > > > > > > >>>> implementation under arch folder. We can discuss > > > > > > > > > > >>>> this later after we confirming the > > > > > > > > > > >>> guideline and principles. > > > > > > > > > > >>>> > > > > > > > > > > >>>> Thanks > > > > > > > > > > >>>> Abner > > > > > > > > > > >>>> > > > > > > > > > > >>>>> -----Original Message----- > > > > > > > > > > >>>>> From: Sunil V L > > > > > > > > > > >>>>> Sent: Wednesday, September 28, 2022 3:34 PM > > > > > > > > > > >>>>> To: devel@edk2.groups.io; ray.ni@intel.com > > > > > > > > > > >>>>> Cc: Chang, Abner ; Kinney, > > > > > Michael > > > > > > > > > > >>>>> D ; lichao > > > > > > > > > > >>>>> ; Kirkendall, Garrett > > > > > > > > > > >>>>> ; Grimes, Paul > > > > > > > > > > >>>>> ; He, Jiangang > > > > > > > > > > >>>>> ; Attar, AbdulLateef (Abdul > > > > > > > > > > >>>>> Lateef) ; Leif > Lindholm > > > > > > > > > > >>>>> ; Andrew Fish > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> Subject: Re: [edk2-devel] The principles of EDK2 > > > > > > > > > > >>>>> module reconstruction for archs > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> Caution: This message originated from an External > > Source. > > > > > > > > > > >>>>> Use proper caution when opening attachments, > > > > > > > > > > >>>>> clicking links, or > > > > > > > responding. > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> On Wed, Sep 28, 2022 at 03:33:45AM +0000, Ni, Ray > > wrote: > > > > > > > > > > >>>>> Hi Ray, > > > > > > > > > > >>>>>> > > > > > > > > > > >>>>>> 1. When a new arch's implementation is > > > > > > > > > > >>>>>> introduced to the existing > > > > > > > > > > >>>>> module which was developed for the specific arch: > > > > > > > > > > >>>>>> > > > > > > > > > > >>>>>> 1. The folder reconstruction: > > > > > > > > > > >>>>>> > > > > > > > > > > >>>>>> * Create arch folder for the existing arch > > implementation > > > > > > > > > > >>>>>> [Ray] Do you move existing arch implementation t= o > > > > > > > > > > >>>>>> that arch > > > > > > > folder? > > > > > > > > > > >>>>>> It will > > > > > > > > > > >>>>> break existing platforms a lot. > > > > > > > > > > >>>>>> > > > > > > > > > > >>>>>> * Create the arch folder for the new introd= uced > > arch > > > > > > > > > > >>>>>> [Ray] I agree. But if we don't create arch folde= r > > > > > > > > > > >>>>>> for existing arch > > > > > > > > > > >>>>> implementation, the pkg layout will be a mess. > > > > > > > > > > >>>>>> > > > > > > > > > > >>>>>> [Ray] Hard for me to understand all the principl= es > here. > > > > > > > > > > >>>>>> Maybe we review > > > > > > > > > > >>>>> existing code including to-be-upstreamed code and > > > > > > > > > > >>>>> decide how > > > > > > > to go. > > > > > > > > > > >>>>>> > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> Could you please take a look below changes which > > > > > > > > > > >>>>> is trying to add RISC-V support for CpuDxe? > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> https://nam11.safelinks.protection.outlook.com/?url= =3D > > > > > > > > > > >>> ht > > > > > > > > > > >>> tps% > > > > > > > > > > >>> 3A%2 > > > > > > > > > > >>> F%2F > > > > > > > > > > >>> gith > > > > > > > > > > >>>>> ub.com%2Ftianocore%2Fedk2- > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > staging%2Fcommit%2Fbba1a11be47dd091734e185afbed73ea75708749& > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > data=3D05%7C01%7Cabner.chang%40amd.com%7Ca419e6a010d34fde464b08d > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > aa123e080%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63799947 > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > 2732494527%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > oiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sd > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > ata=3DVq6pJLnn8yJrJhFZn7LfLbZzrtpG4n1VLWgAil6J38U%3D&reserved=3D0 > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> https://nam11.safelinks.protection.outlook.com/?url= =3D > > > > > > > > > > >>> ht > > > > > > > > > > >>> tps% > > > > > > > > > > >>> 3A%2 > > > > > > > > > > >>> F%2F > > > > > > > > > > >>> gith > > > > > > > > > > >>>>> ub.com%2Ftianocore%2Fedk2- > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > staging%2Fcommit%2F7fccf92a97a6d0618a20f10622220e78b3687906&da > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > ta=3D05%7C01%7Cabner.chang%40amd.com%7Ca419e6a010d34fde464b08daa1 > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > 23e080%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63799947273 > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > 2494527%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata > > > > > > > > > > >>>>> > > > > > > > > > > >>>> > > > > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > =3DxFmvUv58vh4AUAM17Qy9G5jZWFZlK2Ozt3njpG1e8%2BY%3D&reserv > > > > > > > > > > >>>>> ed=3D0 > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> What do you suggest with above example? > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> 1) Common INF for all architectures - but modify > > > > > > > > > > >>>>> INF alone, no > > > > > > > > > > >>>>> X86 folder creation. > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> This is what I have done in the commit above. May > > > > > > > > > > >>>>> be of least impact to existing code since it is o= nly INF > > change. > > > > > > > > > > >>>>> But like you mentioned this is bit weird that X86 > > > > > > > > > > >>>>> files will remain in root folder directly along > > > > > > > > > > >>>>> with some common > > > > > files. > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> 2) Common INF (CpuDxe.inf) + create arch folders > > > > > > > > > > >>>>> X86, X64, IA32, > > > > > > > > > > >>>>> RiscV64 etc > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> IMO, this is probably the best approach. What > > > > > > > > > > >>>>> would be the challenges with this? > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> 3) Separate INF for arch like CpuDxe.inf for x86, > > > > > > > > > > >>>>> CpuDxeRiscV64.inf for > > > > > > > > > > >>>> RISC-V. > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> This again probably is not a good idea. > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> 4) If the module/library is specific to one arch = (ex: > > > > > > > > > > >>>>> SMM(X86), SBI(RISC-V)), then create separate INF. > > > > > > > > > > >>>>> > > > > > > > > > > >>>>> Thanks! > > > > > > > > > > >>>>> Sunil > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >=20 > > > > > >