From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web08.48024.1606196827736238509 for ; Mon, 23 Nov 2020 21:47:07 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=h9yRfUWD; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: arvinx.chen@intel.com) IronPort-SDR: Z447S7EM/bEUI2s1XDHWaNx49LqgFyHIQQZM2HaWkayh98B3rBq0nx2SwrQNhROFuX5X7Jk+gs ea5nZxQ/tr2A== X-IronPort-AV: E=McAfee;i="6000,8403,9814"; a="169330731" X-IronPort-AV: E=Sophos;i="5.78,365,1599548400"; d="scan'208,217";a="169330731" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2020 21:47:07 -0800 IronPort-SDR: 4KxElCJ8092KtUuyvi6ps+iLM7ZLnxiNtHaE0owQlY5In/3wt0eKabSuD2MRRpmxILcQfUa8u8 VwYufMrRtRLA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,365,1599548400"; d="scan'208,217";a="402815805" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga001.jf.intel.com with ESMTP; 23 Nov 2020 21:47:06 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.1713.5; Mon, 23 Nov 2020 21:47:06 -0800 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 23 Nov 2020 21:47:05 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 23 Nov 2020 21:47:05 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.107) 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.1713.5; Mon, 23 Nov 2020 21:47:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A6Dd9msDuv/FY+qmVDwMG5tcrag4rE4a7m2L16SszvEGchE5DuexQR8inrMjv8GFwB5NQbJejHXWc+uvm13GNPE07sli04vm5tJ82NQa3oihi52WDU5JKsgc2JYDJhkkvDPdk00MbU3JMh2AK4CcMDgmnD/I53NZ/4fycPqY8qP/JfS10znHtHV3l7IJsdNs0HL3K7aXnDiuqlItSRi1W5Jrc3hr4uYmz8X7p++UXqxp7IeYxJDAyR2jsztiigmNu3jamV4sSzvnTJzY35enUcPhr+OgI+BwaFZklHEbLJ8r69QOpbNopGACCWJk3JzFPoz4LkxtYpSGVVvxvucesA== 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=UEUHbBaHrStHR4LP8+tQSOjdVTi/9wLTEWImJxyNh4Y=; b=AFZzHR5i6/c42sqTkslTMt7MQCUIW0zXSUQLCe8NqUoxAgqfjh2omO9sR7YxYNxtoKa5TJF83Op+qcK3wGlmv2ky0TNzUCVwo5w6aDFO5UjZpQt56SxMI8MYinpwTH15Jaw9PpLmY6sBtctD07OQndggRcZ1wFUgip27btbjEiZ2ZGC6UZia5V3ZcYHHarM5jh/a+ezZb9ruFIM5W4a1HrYyV9ZWVj8rEhi3iztEuQs2y4hxD/OApWUlqH6dJaCvPx2sBYkowOwdvZBI+Skvz+UJoglYJ5EzuIMsUtpXTiqHnGDgu/SDlX35dZXmhibU61cFF9Oeh+vQIwXYBoA1jQ== 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=UEUHbBaHrStHR4LP8+tQSOjdVTi/9wLTEWImJxyNh4Y=; b=h9yRfUWDPkQb+ILSGfyCcEA2b4zKxW0hpjM4enMTwOaU0JK6xWK/tJKjtgojciZ3JlIIV3q/2ZSL3PDiaVbimQcKIOmGoxyi/GoJv1/Zi1u+PLkh7QcZa8W0kOALvRb9HdxMzTOwMOoinc9V9S6vGXDIhtDpUJJ9DrIiA+Fs89c= Received: from DM5PR11MB1737.namprd11.prod.outlook.com (2603:10b6:3:10b::21) by DM6PR11MB3740.namprd11.prod.outlook.com (2603:10b6:5:140::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.29; Tue, 24 Nov 2020 05:47:04 +0000 Received: from DM5PR11MB1737.namprd11.prod.outlook.com ([fe80::1455:817f:6823:24b7]) by DM5PR11MB1737.namprd11.prod.outlook.com ([fe80::1455:817f:6823:24b7%11]) with mapi id 15.20.3589.022; Tue, 24 Nov 2020 05:47:04 +0000 From: "Chen, ArvinX" To: "devel@edk2.groups.io" , "samer.el-haj-mahmoud@arm.com" CC: G Edhaya Chandran , "Jin, Eric" , "gaoliming@byosoft.com.cn" , "Chu, Maggie" Subject: =?UTF-8?B?5Zue6KaGOiBbZWRrMi1kZXZlbF0gW1BBVENIIDIvMl0gdWVmaS1zY3QvU2N0UGtnOiBDb3JyZWN0IEJCVGVzdEVyYXNlQmxvY2tzIGJlaGF2aW9yIChFRklfQkxPQ0tfSU9fUFJPVE9DT0wp?= Thread-Topic: [edk2-devel] [PATCH 2/2] uefi-sct/SctPkg: Correct BBTestEraseBlocks behavior (EFI_BLOCK_IO_PROTOCOL) Thread-Index: AQHWsP8oBqzi5x8JIEej5OOn0pNMOKnDd0uQgAhtQmyAAItPQIAKeDCL Date: Tue, 24 Nov 2020 05:47:04 +0000 Message-ID: References: <20201102095950.763-1-arvinx.chen@intel.com>, , In-Reply-To: Accept-Language: zh-TW, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.210] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 62a72381-0e23-440f-6d53-08d8903c5f35 x-ms-traffictypediagnostic: DM6PR11MB3740: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rHwLBcYumSdOodXJgd5qQTm1OoNSGBtqn3tMwBW3bRdba6pPa2nC2wPJpw6qSoNAiaqWDzkb3og4T1UhTx3xL1PbEFJ53Hj2a6hOvfgGmznX33ht38LCzQtBpWwuGbd6+z607iKUe2DbtKbw1oO7pXmmOfip9I23WiF+JUowkAjNTmWxlUdwRx1VWCXW3aXjgKxBAR4sGA+fho+zMnWz7ikkCfevJyZ2hVcZbVja7mJGDbBEeVCss7RaVhx534pDkkF8NV9LcoqxCX7pZ7zG74+VUxI/Hhmb1R4sgIU5OcqW4oj8I7y9pxbzR2+7lChJPauFPpwhyBElbp0MgoEuoY2XQ+m8ah52Y//EJ4C4r9E66BpXbm5TE+qUHbbyd0HwrjzyBeKavuv/ysDLIzfaRA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR11MB1737.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39860400002)(366004)(376002)(346002)(136003)(33656002)(166002)(9686003)(19627235002)(6506007)(316002)(66446008)(64756008)(66556008)(66476007)(186003)(76116006)(55016002)(4326008)(71200400001)(52536014)(91956017)(2906002)(224303003)(66946007)(478600001)(26005)(53546011)(7696005)(5660300002)(54906003)(86362001)(8936002)(966005)(107886003)(110136005)(76236003)(19627405001)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: XjmOazEDlhNopwpQWHEpZF6Ha/6mVVPjsaUaDON/hzoRQuIHBix/pAkSeDO9GAzFjG7agFc/jR+68NV4+d5dedOP40QcDm8gF2MV/eUQLNGF6ZsMHo04nh2R2WOTUm1FfW2pK69WaGSWtB4i/GOlZ++8+Q4XCeII7gXQ+TVVchGv+cYf3V2WsCwOz9Ofu2dsqM8C77jMlhRmGCp5S+1NtnH0Hc3WUWzBbWdgSxpF+X0KCUSEqrGXgFqcMVTxjIbv7l3zlGlGHvqDeIGT5X2+Gt/8aszOE6BPmHM4Xn+wqs5WhLspN+CWLgpuCYs5HHXC+LpUPKlEFJlnAAc1rhHSjvCqW7ZB5PwxRkjMzt3RnR76V0rmOmCOHb8zHfWvQ5TFmPqSvenpFrFDS/DIS5MOSK2XagI1AgrpFqDW9CPSo6cJRMCTZboSdYm1+NnD4QsuQ11wvc1kV4aDRLune4NtcMVlLMyHZeX1SXNQA6ZEMYe1+JH2EMPhgI6f/Vu98pr7Z6lT3M9JSDwPHhtI1RZNhc3Zy44ICQanueLxBTNbBo9+TQB+MP4uzqmp90xeiU7Dmi8dWdHqmzUL6V0FiR990owYPDl1E23Jpg63kB+vB98Y+RxSbyPx/Qp6kDcwykyflyh2C1x8gc1IH8CN1CF9iF4Oqkt9CF8D9mp2yH+/F6hus5tF04CkAbwAWV7nohALj24QnpAI6H2oySH/ZtzlJLEpA1klT9NSYwulcTGhbZtwNPt+TXTTyLgMAwbHsPDWQNllHGAj+lHB16kVLQp80HMOBa08CLN/vKxUhulxq4fouDGWtb2YeatjI66Dy8wQQOSfFGyZ3Xc+NWGTBVgbIwHandeJoMVbGOv8GkyhrOAV+8G0GvFJX3Iva7+6eM2i9+fkX4HEVAZMxOETYbAUhg== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR11MB1737.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62a72381-0e23-440f-6d53-08d8903c5f35 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2020 05:47:04.1440 (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: 7AUKR85uGiPUgOHccjxnot7NvcGpcY8XIoKaCWHYDAq94bmc93AAwP2mCel5xCPbclHSPeDjawjxpzZHImZKRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3740 Return-Path: arvinx.chen@intel.com X-OriginatorOrg: intel.com Content-Language: zh-TW Content-Type: multipart/alternative; boundary="_000_DM5PR11MB173745C4692479A35C229B1BFBFB0DM5PR11MB1737namp_" --_000_DM5PR11MB173745C4692479A35C229B1BFBFB0DM5PR11MB1737namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgYWxsLA0KDQogICBJZiB0aGlzIHBhdGNoIGlzIE9LIHRvIHlvdSBndXlzfiBtYXliZSB3ZSBj YW4gc3VibWl0IGl0IGludG8gbWFzdGVyIF5eDQoNClRoYW5rcyENCkFydmluDQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXw0KvMS8/tXfOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2 ZWxAZWRrMi5ncm91cHMuaW8+ILT6se0gU2FtZXIgRWwtSGFqLU1haG1vdWQgPHNhbWVyLmVsLWhh ai1tYWhtb3VkQGFybS5jb20+DQq8xLz+yNXG2jogMjAyMMTqMTHUwjE3yNUgz8LO5yAwOTo1Mw0K ytW8/tXfOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+OyBDaGVu LCBBcnZpblggPGFydmlueC5jaGVuQGludGVsLmNvbT4NCrixsb46IEcgRWRoYXlhIENoYW5kcmFu IDxFZGhheWEuQ2hhbmRyYW5AYXJtLmNvbT47IEppbiwgRXJpYyA8ZXJpYy5qaW5AaW50ZWwuY29t PjsgZ2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBD aHUsIE1hZ2dpZSA8bWFnZ2llLmNodUBpbnRlbC5jb20+OyBTYW1lciBFbC1IYWotTWFobW91ZCA8 U2FtZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNvbT4NCtb31rw6IFJlOiBbZWRrMi1kZXZlbF0gW1BB VENIIDIvMl0gdWVmaS1zY3QvU2N0UGtnOiBDb3JyZWN0IEJCVGVzdEVyYXNlQmxvY2tzIGJlaGF2 aW9yIChFRklfQkxPQ0tfSU9fUFJPVE9DT0wpDQoNCg0KVGhhbmtzIGZvciB0aGUgZXhwbGFuYXRp b24uDQoNCg0KDQpSZXZpZXdlZC1CeTogU2FtZXIgRWwtSGFqLU1haG1vdWQgPFNhbWVyLkVsLUhh ai1NYWhtb3VkQGFybS5jb208bWFpbHRvOlNhbWVyLkVsLUhhai1NYWhtb3VkQGFybS5jb20+Pg0K DQoNCg0KDQoNCkZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5p bz4gT24gQmVoYWxmIE9mIENoZW4sIEFydmluWCB2aWEgZ3JvdXBzLmlvDQpTZW50OiBUdWVzZGF5 LCBOb3ZlbWJlciAxNywgMjAyMCAxMjo1MSBBTQ0KVG86IFNhbWVyIEVsLUhhai1NYWhtb3VkIDxT YW1lci5FbC1IYWotTWFobW91ZEBhcm0uY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCkNjOiBH IEVkaGF5YSBDaGFuZHJhbiA8RWRoYXlhLkNoYW5kcmFuQGFybS5jb20+OyBKaW4sIEVyaWMgPGVy aWMuamluQGludGVsLmNvbT47IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbjsgQ2h1LCBNYWdnaWUg PG1hZ2dpZS5jaHVAaW50ZWwuY29tPg0KU3ViamVjdDogu9i4sjogW2VkazItZGV2ZWxdIFtQQVRD SCAyLzJdIHVlZmktc2N0L1NjdFBrZzogQ29ycmVjdCBCQlRlc3RFcmFzZUJsb2NrcyBiZWhhdmlv ciAoRUZJX0JMT0NLX0lPX1BST1RPQ09MKQ0KDQoNCg0KSEkgU2FtZXIsDQoNCg0KDQogICAgU29y cnkgZm9yIHRoZSBzbG93IHJlcGx5LCBJbiBFTU1DJ3MgY2FzZSwgaXQgYWxsb3dlZCBzdG9yYWdl IGZpcm13YXJlIGVyYXNlIHRvICIxIiB0byBiZSBhIHZhbGlkIGJlaGF2aW9yIChwbGVhc2UgcmVm ZXJlbmNlIHRoZSBzcGVjIG9mIGVtbWMgSkVTRDg0LUI1MS82LjYuOSksIHNvIG9uY2UgdmVyaWZp Y2F0aW9uIHRlYW0gdXNlIGtpbmQgb2YgdGhpcyBkZXZpY2UsIHRoZSB0ZXN0IGNhc2Ugd2lsbCBh bHdheXMgZmFpbGVkLiBUbyBhdm9pZCB0aGlzIHByb2JsZW0sIEkgdGhpbmsgdGhpcyBjaGFuZ2Ug aXMgcmVxdWlyZWQuDQoNCg0KDQpUaGFua3MhIQ0KDQpBcnZpbg0KDQoNCg0KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCg0KvMS8/tXfOiBTYW1lciBFbC1IYWotTWFobW91ZCA8U2Ft ZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNvbTxtYWlsdG86U2FtZXIuRWwtSGFqLU1haG1vdWRAYXJt LmNvbT4+DQq8xLz+yNXG2jogMjAyMMTqMTHUwjEyyNUgyc/O5yAwNDo1Ng0KytW8/tXfOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbzxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+PjsgQ2hlbiwgQXJ2aW5YIDxh cnZpbnguY2hlbkBpbnRlbC5jb208bWFpbHRvOmFydmlueC5jaGVuQGludGVsLmNvbT4+DQq4sbG+ OiBHIEVkaGF5YSBDaGFuZHJhbiA8RWRoYXlhLkNoYW5kcmFuQGFybS5jb208bWFpbHRvOkVkaGF5 YS5DaGFuZHJhbkBhcm0uY29tPj47IEppbiwgRXJpYyA8ZXJpYy5qaW5AaW50ZWwuY29tPG1haWx0 bzplcmljLmppbkBpbnRlbC5jb20+PjsgU2FtZXIgRWwtSGFqLU1haG1vdWQgPFNhbWVyLkVsLUhh ai1NYWhtb3VkQGFybS5jb208bWFpbHRvOlNhbWVyLkVsLUhhai1NYWhtb3VkQGFybS5jb20+Pjsg Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPG1haWx0bzpnYW9saW1pbmdAYnlvc29mdC5jb20uY24+ IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY248bWFpbHRvOmdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bj4+DQrW99a8OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCAyLzJdIHVlZmktc2N0L1NjdFBrZzog Q29ycmVjdCBCQlRlc3RFcmFzZUJsb2NrcyBiZWhhdmlvciAoRUZJX0JMT0NLX0lPX1BST1RPQ09M KQ0KDQoNCg0KSGkgQ2hlbiwNCg0KVGhlIFVFRkkgU3BlY2lmaWNhdGlvbiAyLjhFcnJhdGFCIChw YWdlIDU3NSkgc3RhdGVzIHRoYXQgIiBJdCBpcyB0aGUgaW50ZW50aW9uIG9mIHRoZSBFcmFzZUJs b2NrcygpIG9wZXJhdGlvbiB0byBiZSBhdCBsZWFzdCBhcyBwZXJmb3JtYW50IGFzIHdyaXRpbmcg emVyb2VzIHRvIGVhY2ggb2YgdGhlIHNwZWNpZmllZCBMQkEgbG9jYXRpb25zIHdoaWxlIGVuc3Vy aW5nIHRoZSBlcXVpdmFsZW50IHNlY3VyaXR5LiINCg0KU28gd2hpbGUgbm90IGV4cGxpY2l0bHkg c2F5aW5nIHRoYXQgRXJhc2Ugc2hvdWxkICJlcmFzZSB0byAwIiwgaXQgaW1wbGllcyB0aGF0IGF0 IGxlYXN0IGlzIHRoZSBpbnRlbnRpb24uIERvIHdlIGtub3cgdGhhdCBlcmFzaW5nIHRvICIxIiBp cyBhIHZhbGlkIGJlaGF2aW9yPw0KDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbzxtYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW8+PiBPbiBC ZWhhbGYgT2YgQ2hlbiwNCj4gQXJ2aW5YIHZpYSBncm91cHMuaW8NCj4gU2VudDogTW9uZGF5LCBO b3ZlbWJlciAyLCAyMDIwIDU6MDAgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0 bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz4NCj4gQ2M6IEcgRWRoYXlhIENoYW5kcmFuIDxFZGhheWEu Q2hhbmRyYW5AYXJtLmNvbTxtYWlsdG86RWRoYXlhLkNoYW5kcmFuQGFybS5jb20+PjsgRXJpYyBK aW4NCj4gPGVyaWMuamluQGludGVsLmNvbTxtYWlsdG86ZXJpYy5qaW5AaW50ZWwuY29tPj4NCj4g U3ViamVjdDogW2VkazItZGV2ZWxdIFtQQVRDSCAyLzJdIHVlZmktc2N0L1NjdFBrZzogQ29ycmVj dA0KPiBCQlRlc3RFcmFzZUJsb2NrcyBiZWhhdmlvciAoRUZJX0JMT0NLX0lPX1BST1RPQ09MKQ0K Pg0KPiBSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 MzAyMg0KPg0KPg0KPg0KPiBUaGUgc3RvcmFnZSBkZXZpY2UgZXJhc2UgYmVoYXZpb3IgbWF5IGhh dmUgdHdvIHBvc3NpYmlsaXRpZXM6DQo+DQo+ICAxLldyaXRlIGFsbCBkYXRhIGludG8gIjAiDQo+ DQo+ICAyLldyaXRlIGFsbCBkYXRhIGludG8gIjEiDQo+DQo+IGJ1dCBub3cgdG9vbCBiZWhhdmlv ciBjYW4gb25seSBjaGVjayBjYXNlIDEgKFdyaXRlIGFsbCBkYXRhIGludG8gIjAiKSwNCj4NCj4g c28gd2UgbmVlZCBhZGQgdGhlIG90aGVyIGNhc2UgaW50byBTQ1QgdG9vbCB0byBjb3JyZWN0IHRo ZSB0ZXN0IGJlaGF2aW9yLg0KPg0KPg0KPg0KPiBDYzogRyBFZGhheWEgQ2hhbmRyYW4gPEVkaGF5 YS5DaGFuZHJhbkBhcm0uY29tPG1haWx0bzpFZGhheWEuQ2hhbmRyYW5AYXJtLmNvbT4+DQo+DQo+ IENjOiBFcmljIEppbiA8ZXJpYy5qaW5AaW50ZWwuY29tPG1haWx0bzplcmljLmppbkBpbnRlbC5j b20+Pg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBBcnZpblggQ2hlbiA8YXJ2aW54LmNoZW5AaW50ZWwu Y29tPG1haWx0bzphcnZpbnguY2hlbkBpbnRlbC5jb20+Pg0KPg0KPiAtLS0NCj4NCj4gIC4uLi9C bGFja0JveFRlc3QvRXJhc2VCbG9ja0JCVGVzdEZ1bmN0aW9uLmMgICB8IDU1ICsrKysrKysrKysr KysrKy0tLS0NCj4NCj4gIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAxMiBkZWxl dGlvbnMoLSkNCj4NCj4NCj4NCj4gZGlmZiAtLWdpdCBhL3VlZmktDQo+IHNjdC9TY3RQa2cvVGVz dENhc2UvVUVGSS9FRkkvUHJvdG9jb2wvRXJhc2VCbG9jay9CbGFja0JveFRlc3QvRXJhc2VCbG9j aw0KPiBCQlRlc3RGdW5jdGlvbi5jIGIvdWVmaS0NCj4gc2N0L1NjdFBrZy9UZXN0Q2FzZS9VRUZJ L0VGSS9Qcm90b2NvbC9FcmFzZUJsb2NrL0JsYWNrQm94VGVzdC9FcmFzZUJsb2NrDQo+IEJCVGVz dEZ1bmN0aW9uLmMNCj4NCj4gaW5kZXggY2JmNDNlMWQuLmRiYmI3MGM2IDEwMDY0NA0KPg0KPiAt LS0gYS91ZWZpLQ0KPiBzY3QvU2N0UGtnL1Rlc3RDYXNlL1VFRkkvRUZJL1Byb3RvY29sL0VyYXNl QmxvY2svQmxhY2tCb3hUZXN0L0VyYXNlQmxvY2sNCj4gQkJUZXN0RnVuY3Rpb24uYw0KPg0KPiAr KysgYi91ZWZpLQ0KPiBzY3QvU2N0UGtnL1Rlc3RDYXNlL1VFRkkvRUZJL1Byb3RvY29sL0VyYXNl QmxvY2svQmxhY2tCb3hUZXN0L0VyYXNlQmxvY2sNCj4gQkJUZXN0RnVuY3Rpb24uYw0KPg0KPiBA QCAtNzEsNiArNzEsNyBAQCBCQlRlc3RFcmFzZUJsb2Nrc0Z1bmN0aW9uVGVzdCAoDQo+DQo+ICAg IFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+DQo+ICAgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgxOw0KPg0KPiAgICBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbWFpbmRlcjsNCj4NCj4gKyAgVUlO VDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcmFzZUNvdW50ZXI7DQo+DQo+DQo+ DQo+ICAgIEVGSV9FUkFTRV9CTE9DS19UT0tFTiAgICAgICAgICAgICAgICAgVG9rZW47DQo+DQo+ ICAgIEVGSV9CTE9DS19JTzJfVE9LRU4gICAgICAgICAgICAgICAgICAgQmxvY2tJbzJUb2tlbjsN Cj4NCj4gQEAgLTIyMywyNiArMjI0LDQxIEBAIEJCVGVzdEVyYXNlQmxvY2tzRnVuY3Rpb25UZXN0 ICgNCj4NCj4gICAgICAgICAgLy8gUmVhZCB0aGUgZGF0YSB3aXRoIDAsIHRoZSBmaXJzdC9sYXN0 IGJsb2NrIHNob3VsZCBub3QgYmUgZXJhc2VkDQo+DQo+ICAgICAgICAgIFJlYWRTdGF0dXMgPSBC bG9ja0lvLT5SZWFkQmxvY2tzIChCbG9ja0lvLCBNZWRpYUlkLCBMYmEsIEJ1ZmZlclNpemUsDQo+ IChWT0lEKilCdWZmZXIyKTsNCj4NCj4gICAgICAgICAgaWYgKFJlYWRTdGF0dXMgPT0gRUZJX1NV Q0NFU1MpIHsNCj4NCj4gLSAgICAgICAgICBmb3IgKEluZGV4MSA9IDA7IEluZGV4MSA8IEJsb2Nr U2l6ZTsgSW5kZXgxKyspIHsNCj4NCj4gLSAgICAgICAgICAgIGlmIChCdWZmZXIyW0luZGV4MV0g IT0gMCkgew0KPg0KPiArICAgICAgICAgIGZvciAoSW5kZXgxID0gMCwgRXJhc2VDb3VudGVyID0g MDsgSW5kZXgxIDwgQmxvY2tTaXplOyBJbmRleDErKykgew0KPg0KPiArICAgICAgICAgICAgaWYg KEJ1ZmZlcjJbSW5kZXgxXSAhPSAweDAwICYmIEJ1ZmZlcjJbSW5kZXgxXSAhPSAweEZGKSB7DQo+ DQo+ICAgICAgICAgICAgICAgIElzWmVybzEgPSBGQUxTRTsNCj4NCj4gICAgICAgICAgICAgICAg YnJlYWs7DQo+DQo+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKEJ1ZmZlcjJbSW5kZXgxXSA9PSAw eDAwKSB7DQo+DQo+ICsgICAgICAgICAgICAgIEVyYXNlQ291bnRlcisrOw0KPg0KPiAgICAgICAg ICAgICAgfQ0KPg0KPiAgICAgICAgICAgIH0NCj4NCj4gKyAgICAgICAgICBpZiAoRXJhc2VDb3Vu dGVyIT0wICYmIEVyYXNlQ291bnRlciE9QmxvY2tTaXplKSB7DQo+DQo+ICsgICAgICAgICAgICBJ c1plcm8xID0gRkFMU0U7DQo+DQo+ICsgICAgICAgICAgfQ0KPg0KPg0KPg0KPiAtICAgICAgICAg IGZvciAoSW5kZXgxID0gQmxvY2tTaXplOyBJbmRleDEgPCBCdWZmZXJTaXplIC0gQmxvY2tTaXpl OyBJbmRleDErKykgew0KPg0KPiAtICAgICAgICAgICAgaWYgKEJ1ZmZlcjJbSW5kZXgxXSAhPSAw KSB7DQo+DQo+ICsgICAgICAgICAgZm9yIChJbmRleDEgPSBCbG9ja1NpemUsIEVyYXNlQ291bnRl ciA9IDA7IEluZGV4MSA8IEJ1ZmZlclNpemUgLQ0KPiBCbG9ja1NpemU7IEluZGV4MSsrKSB7DQo+ DQo+ICsgICAgICAgICAgICBpZiAoQnVmZmVyMltJbmRleDFdICE9IDB4MDAgJiYgQnVmZmVyMltJ bmRleDFdICE9IDB4RkYpIHsNCj4NCj4gICAgICAgICAgICAgICAgSXNaZXJvMiA9IEZBTFNFOw0K Pg0KPiAgICAgICAgICAgICAgICBicmVhazsNCj4NCj4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAo QnVmZmVyMltJbmRleDFdID09IDB4MDApIHsNCj4NCj4gKyAgICAgICAgICAgICAgRXJhc2VDb3Vu dGVyKys7DQo+DQo+ICAgICAgICAgICAgICB9DQo+DQo+ICAgICAgICAgICAgfQ0KPg0KPiArICAg ICAgICAgIGlmIChFcmFzZUNvdW50ZXIhPTAgJiYgRXJhc2VDb3VudGVyIT0oQnVmZmVyU2l6ZSAt IChCbG9ja1NpemUqMikpKSB7DQo+DQo+ICsgICAgICAgICAgICBJc1plcm8yID0gRkFMU0U7DQo+ DQo+ICsgICAgICAgICAgfQ0KPg0KPg0KPg0KPiAtICAgICAgICAgIGZvciAoSW5kZXgxID0gQnVm ZmVyU2l6ZSAtIEJsb2NrU2l6ZTsgSW5kZXgxIDwgQnVmZmVyU2l6ZTsgSW5kZXgxKyspIHsNCj4N Cj4gLSAgICAgICAgICAgIGlmIChCdWZmZXIyW0luZGV4MV0gIT0gMCkgew0KPg0KPiArICAgICAg ICAgIGZvciAoSW5kZXgxID0gQnVmZmVyU2l6ZSAtIEJsb2NrU2l6ZSwgRXJhc2VDb3VudGVyID0g MDsgSW5kZXgxIDwNCj4gQnVmZmVyU2l6ZTsgSW5kZXgxKyspIHsNCj4NCj4gKyAgICAgICAgICAg IGlmIChCdWZmZXIyW0luZGV4MV0gIT0gMHgwMCAmJiBCdWZmZXIyW0luZGV4MV0gIT0gMHhGRikg ew0KPg0KPiAgICAgICAgICAgICAgICBJc1plcm8zID0gRkFMU0U7DQo+DQo+ICAgICAgICAgICAg ICAgIGJyZWFrOw0KPg0KPiArICAgICAgICAgICAgfSBlbHNlIGlmIChCdWZmZXIyW0luZGV4MV0g PT0gMHgwMCkgew0KPg0KPiArICAgICAgICAgICAgICBFcmFzZUNvdW50ZXIrKzsNCj4NCj4gICAg ICAgICAgICAgIH0NCj4NCj4gICAgICAgICAgICB9DQo+DQo+ICsgICAgICAgICAgaWYgKEVyYXNl Q291bnRlciE9MCAmJiBFcmFzZUNvdW50ZXIhPUJsb2NrU2l6ZSkgew0KPg0KPiArICAgICAgICAg ICAgSXNaZXJvMyA9IEZBTFNFOw0KPg0KPiArICAgICAgICAgIH0NCj4NCj4NCj4NCj4gICAgICAg ICAgICBpZiAoKEVyYXNlU3RhdHVzID09IEVGSV9TVUNDRVNTKSAmJiAoSXNaZXJvMSA9PSBGQUxT RSkgJiYgKElzWmVybzIgPT0NCj4gVFJVRSkgJiYgKChJc1plcm8zID09IEZBTFNFKSkpDQo+DQo+ ICAgICAgICAgICAgICBBc3NlcnRpb25UeXBlID0gRUZJX1RFU1RfQVNTRVJUSU9OX1BBU1NFRDsN Cj4NCj4gQEAgLTQ5MiwyNiArNTA4LDQxIEBAIEJsb2NrSW8yOg0KPg0KPiAgICAgICAgICAvLyBS ZWFkIHRoZSBkYXRhIHdpdGggMCwgdGhlIGZpcnN0L2xhc3QgYmxvY2sgc2hvdWxkIG5vdCBiZSBl cmFzZWQNCj4NCj4gICAgICAgICAgUmVhZFN0YXR1cyA9IEJsb2NrSW8yLT5SZWFkQmxvY2tzRXgg KEJsb2NrSW8yLCBNZWRpYUlkLCBMYmEsDQo+ICZCbG9ja0lvMlRva2VuLCBCdWZmZXJTaXplLCAo Vk9JRCopQnVmZmVyMik7DQo+DQo+ICAgICAgICAgIGlmIChSZWFkU3RhdHVzID09IEVGSV9TVUND RVNTKSB7DQo+DQo+IC0gICAgICAgICAgZm9yIChJbmRleDEgPSAwOyBJbmRleDEgPCBCbG9ja1Np emU7IEluZGV4MSsrKSB7DQo+DQo+IC0gICAgICAgICAgICBpZiAoQnVmZmVyMltJbmRleDFdICE9 IDApIHsNCj4NCj4gKyAgICAgICAgICBmb3IgKEluZGV4MSA9IDAsIEVyYXNlQ291bnRlciA9IDA7 IEluZGV4MSA8IEJsb2NrU2l6ZTsgSW5kZXgxKyspIHsNCj4NCj4gKyAgICAgICAgICAgIGlmIChC dWZmZXIyW0luZGV4MV0gIT0gMHgwMCAmJiBCdWZmZXIyW0luZGV4MV0gIT0gMHhGRikgew0KPg0K PiAgICAgICAgICAgICAgICBJc1plcm8xID0gRkFMU0U7DQo+DQo+ICAgICAgICAgICAgICAgIGJy ZWFrOw0KPg0KPiArICAgICAgICAgICAgfSBlbHNlIGlmIChCdWZmZXIyW0luZGV4MV0gPT0gMHgw MCkgew0KPg0KPiArICAgICAgICAgICAgICBFcmFzZUNvdW50ZXIrKzsNCj4NCj4gICAgICAgICAg ICAgIH0NCj4NCj4gICAgICAgICAgICB9DQo+DQo+ICsgICAgICAgICAgaWYgKEVyYXNlQ291bnRl ciE9MCAmJiBFcmFzZUNvdW50ZXIhPUJsb2NrU2l6ZSkgew0KPg0KPiArICAgICAgICAgICAgSXNa ZXJvMSA9IEZBTFNFOw0KPg0KPiArICAgICAgICAgIH0NCj4NCj4NCj4NCj4gLSAgICAgICAgICBm b3IgKEluZGV4MSA9IEJsb2NrU2l6ZTsgSW5kZXgxIDwgQnVmZmVyU2l6ZSAtIEJsb2NrU2l6ZTsg SW5kZXgxKyspIHsNCj4NCj4gLSAgICAgICAgICAgIGlmIChCdWZmZXIyW0luZGV4MV0gIT0gMCkg ew0KPg0KPiArICAgICAgICAgIGZvciAoSW5kZXgxID0gQmxvY2tTaXplLCBFcmFzZUNvdW50ZXIg PSAwOyBJbmRleDEgPCBCdWZmZXJTaXplIC0NCj4gQmxvY2tTaXplOyBJbmRleDErKykgew0KPg0K PiArICAgICAgICAgICAgaWYgKEJ1ZmZlcjJbSW5kZXgxXSAhPSAweDAwICYmIEJ1ZmZlcjJbSW5k ZXgxXSAhPSAweEZGKSB7DQo+DQo+ICAgICAgICAgICAgICAgIElzWmVybzIgPSBGQUxTRTsNCj4N Cj4gICAgICAgICAgICAgICAgYnJlYWs7DQo+DQo+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKEJ1 ZmZlcjJbSW5kZXgxXSA9PSAweDAwKSB7DQo+DQo+ICsgICAgICAgICAgICAgIEVyYXNlQ291bnRl cisrOw0KPg0KPiAgICAgICAgICAgICAgfQ0KPg0KPiAgICAgICAgICAgIH0NCj4NCj4gKyAgICAg ICAgICBpZiAoRXJhc2VDb3VudGVyIT0wICYmIEVyYXNlQ291bnRlciE9KEJ1ZmZlclNpemUgLSAo QmxvY2tTaXplKjIpKSkgew0KPg0KPiArICAgICAgICAgICAgSXNaZXJvMiA9IEZBTFNFOw0KPg0K PiArICAgICAgICAgIH0NCj4NCj4NCj4NCj4gLSAgICAgICAgICBmb3IgKEluZGV4MSA9IEJ1ZmZl clNpemUgLSBCbG9ja1NpemU7IEluZGV4MSA8IEJ1ZmZlclNpemU7IEluZGV4MSsrKSB7DQo+DQo+ IC0gICAgICAgICAgICBpZiAoQnVmZmVyMltJbmRleDFdICE9IDApIHsNCj4NCj4gKyAgICAgICAg ICBmb3IgKEluZGV4MSA9IEJ1ZmZlclNpemUgLSBCbG9ja1NpemUsIEVyYXNlQ291bnRlciA9IDA7 IEluZGV4MSA8DQo+IEJ1ZmZlclNpemU7IEluZGV4MSsrKSB7DQo+DQo+ICsgICAgICAgICAgICBp ZiAoQnVmZmVyMltJbmRleDFdICE9IDB4MDAgJiYgQnVmZmVyMltJbmRleDFdICE9IDB4RkYpIHsN Cj4NCj4gICAgICAgICAgICAgICAgSXNaZXJvMyA9IEZBTFNFOw0KPg0KPiAgICAgICAgICAgICAg ICBicmVhazsNCj4NCj4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAoQnVmZmVyMltJbmRleDFdID09 IDB4MDApIHsNCj4NCj4gKyAgICAgICAgICAgICAgRXJhc2VDb3VudGVyKys7DQo+DQo+ICAgICAg ICAgICAgICB9DQo+DQo+ICAgICAgICAgICAgfQ0KPg0KPiArICAgICAgICAgIGlmIChFcmFzZUNv dW50ZXIhPTAgJiYgRXJhc2VDb3VudGVyIT1CbG9ja1NpemUpIHsNCj4NCj4gKyAgICAgICAgICAg IElzWmVybzMgPSBGQUxTRTsNCj4NCj4gKyAgICAgICAgICB9DQo+DQo+DQo+DQo+ICAgICAgICAg ICAgaWYgKChFcmFzZVN0YXR1cyA9PSBFRklfU1VDQ0VTUykgJiYgKElzWmVybzEgPT0gRkFMU0Up ICYmIChJc1plcm8yID09DQo+IFRSVUUpICYmICgoSXNaZXJvMyA9PSBGQUxTRSkpKQ0KPg0KPiAg ICAgICAgICAgICAgQXNzZXJ0aW9uVHlwZSA9IEVGSV9URVNUX0FTU0VSVElPTl9QQVNTRUQ7DQo+ DQo+IC0tDQo+DQo+IDIuMjYuMi53aW5kb3dzLjENCj4NCj4NCj4NCj4NCj4NCj4gLT0tPS09LT0t PS09DQo+IEdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8g dGhpcyBncm91cC4NCj4gVmlldy9SZXBseSBPbmxpbmUgKCM2Njg1Nyk6IGh0dHBzOi8vZWRrMi5n cm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzY2ODU3DQo+IE11dGUgVGhpcyBUb3BpYzogaHR0cHM6 Ly9ncm91cHMuaW8vbXQvNzc5Nzc3NjIvMTk0NTY0NA0KPiBHcm91cCBPd25lcjogZGV2ZWwrb3du ZXJAZWRrMi5ncm91cHMuaW88bWFpbHRvOmRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvPg0KPiBV bnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViIFtzYW1lci5l bC1oYWotDQo+IG1haG1vdWRAYXJtLmNvbTxtYWlsdG86bWFobW91ZEBhcm0uY29tPl0NCj4gLT0t PS09LT0tPS09DQo+DQoNCklNUE9SVEFOVCBOT1RJQ0U6IFRoZSBjb250ZW50cyBvZiB0aGlzIGVt YWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlIGNvbmZpZGVudGlhbCBhbmQgbWF5IGFsc28gYmUg cHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNl IG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5IGFuZCBkbyBub3QgZGlzY2xvc2UgdGhlIGNv bnRlbnRzIHRvIGFueSBvdGhlciBwZXJzb24sIHVzZSBpdCBmb3IgYW55IHB1cnBvc2UsIG9yIHN0 b3JlIG9yIGNvcHkgdGhlIGluZm9ybWF0aW9uIGluIGFueSBtZWRpdW0uIFRoYW5rIHlvdS4NCg0K SU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZW1haWwgYW5kIGFueSBhdHRh Y2htZW50cyBhcmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBiZSBwcml2aWxlZ2VkLiBJZiB5 b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5k ZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUgY29udGVudHMgdG8gYW55IG90 aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Igc3RvcmUgb3IgY29weSB0aGUg aW5mb3JtYXRpb24gaW4gYW55IG1lZGl1bS4gVGhhbmsgeW91Lg0KDQo= --_000_DM5PR11MB173745C4692479A35C229B1BFBFB0DM5PR11MB1737namp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
Hi all,

   If this patch is OK to you guys~ maybe we can submit it into = master ^^

Thanks!
Arvin

=BC=C4=BC=FE=D5=DF: devel@= edk2.groups.io <devel@edk2.groups.io> =B4=FA=B1=ED Samer El-Haj-Mahmo= ud <samer.el-haj-mahmoud@arm.com>
=BC=C4=BC=FE=C8=D5=C6=DA: 2020=C4=EA11=D4=C217=C8=D5 =CF=C2=CE=E7 0= 9:53
=CA=D5=BC=FE=D5=DF: devel@edk2.groups.io <devel@edk2.groups.io&g= t;; Chen, ArvinX <arvinx.chen@intel.com>
=B8=B1=B1=BE: G Edhaya Chandran <Edhaya.Chandran@arm.com>; Ji= n, Eric <eric.jin@intel.com>; gaoliming@byosoft.com.cn <gaoliming@= byosoft.com.cn>; Chu, Maggie <maggie.chu@intel.com>; Samer El-Haj-= Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
=D6=F7=D6=BC: Re: [edk2-devel] [PATCH 2/2] uefi-sct/SctPkg: Correct= BBTestEraseBlocks behavior (EFI_BLOCK_IO_PROTOCOL)
 

Thanks for the explanation.

 

Reviewed-By: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com&= gt;

 

 

From: devel@edk2.groups.io <= devel@edk2.groups.io> On Behalf Of Chen, ArvinX via groups.io
Sent: Tuesday, November 17, 2020 12:51 AM
To: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>; deve= l@edk2.groups.io
Cc: G Edhaya Chandran <Edhaya.Chandran@arm.com>; Jin, Eric &l= t;eric.jin@intel.com>; gaoliming@byosoft.com.cn; Chu, Maggie <maggie.= chu@intel.com>
Subject:
=BB= = =D8=B8=B2: [edk2-devel] [PATCH 2/2] uefi-sct/SctPkg: Correct BBTe= stEraseBlocks behavior (EFI_BLOCK_IO_PROTOCOL)

 

HI Samer,

 

    Sorry for t= he slow reply, In EMMC's case, it allowed storage firmware erase to "1= " to be a valid behavior (please reference the spec of emmc JESD84-B51= /6.6.9), so once verification team use kind of this device, the test case will alw= ays failed. To avoid this problem, I think this change is required.<= /p>

 

Thanks!!

Arvin

 


=BC=C4=BC=FE=D5=DF:<= span style=3D"font-size:11.0pt; font-family:"Calibri",sans-serif;= color:black"> Samer El-Haj-Mahmoud <= Samer.El-Haj-Mahmoud@arm.com>
=BC= = =C4=BC=FE=C8=D5=C6=DA: 2020=C4=EA11=D4=C212=C8=D5 =C9=CF= = =CE=E7 04:56
=CA= = =D5=BC=FE=D5=DF: devel@edk2.groups.io <devel@edk2.groups.io>; Chen, Arvi= nX <arvinx.chen@intel.com&g= t;
=B8= = =B1=B1=BE: G Edhaya Chandran <Edhaya.Chandran@a= rm.com>; Jin, Eric <eric.ji= n@intel.com>; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>; gaoliming@byosoft.com.cn &= lt;gaoliming@byosoft.com.cn= >
=D6= = =F7=D6=BC: RE: [edk= 2-devel] [PATCH 2/2] uefi-sct/SctPkg: Correct BBTestEraseBlocks behavior (EFI_BLOC= K_IO_PROTOCOL)

 

Hi Chen,

The UEFI Specification 2.8ErrataB (page 575) states that " It is the = intention of the EraseBlocks() operation to be at least as performant as wr= iting zeroes to each of the specified LBA locations while ensuring the equi= valent security."

So while not explicitly saying that Erase should "erase to 0", i= t implies that at least is the intention. Do we know that erasing to "= 1" is a valid behavior?



> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> = On Behalf Of Chen,
> ArvinX via groups.io
> Sent: Monday, November 2, 2020 5:00 AM
> To: devel@edk2.groups.io<= br> > Cc: G Edhaya Chandran <= Edhaya.Chandran@arm.com>; Eric Jin
> <eric.jin@intel.com><= br> > Subject: [edk2-devel] [PATCH 2/2] uefi-sct/SctPkg: Correct
> BBTestEraseBlocks behavior (EFI_BLOCK_IO_PROTOCOL)
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3022
>
>
>
> The storage device erase behavior may have two possibilities:
>
>  1.Write all data into "0"
>
>  2.Write all data into "1"
>
> but now tool behavior can only check case 1 (Write all data into &quo= t;0"),
>
> so we need add the other case into SCT tool to correct the test behav= ior.
>
>
>
> Cc: G Edhaya Chandran <= Edhaya.Chandran@arm.com>
>
> Cc: Eric Jin <eric.jin@intel= .com>
>
> Signed-off-by: ArvinX Chen <arvinx.chen@intel.com>
>
> ---
>
>  .../BlackBoxTest/EraseBlockBBTestFunction.c   | 55 ++= +++++++++++++----
>
>  1 file changed, 43 insertions(+), 12 deletions(-)
>
>
>
> diff --git a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBl= ock
> BBTestFunction.c b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBl= ock
> BBTestFunction.c
>
> index cbf43e1d..dbbb70c6 100644
>
> --- a/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBl= ock
> BBTestFunction.c
>
> +++ b/uefi-
> sct/SctPkg/TestCase/UEFI/EFI/Protocol/EraseBlock/BlackBoxTest/EraseBl= ock
> BBTestFunction.c
>
> @@ -71,6 +71,7 @@ BBTestEraseBlocksFunctionTest (
>
>    UINT64       &nb= sp;            =             Index; >
>    UINTN       &nbs= p;            &= nbsp;            Ind= ex1;
>
>    UINTN       &nbs= p;            &= nbsp;            Rem= ainder;
>
> +  UINT64         &= nbsp;           &nbs= p;          EraseCounter;
>
>
>
>    EFI_ERASE_BLOCK_TOKEN     =             Token; >
>    EFI_BLOCK_IO2_TOKEN     &n= bsp;            = ; BlockIo2Token;
>
> @@ -223,26 +224,41 @@ BBTestEraseBlocksFunctionTest (
>
>          // Read the dat= a with 0, the first/last block should not be erased
>
>          ReadStatus =3D = BlockIo->ReadBlocks (BlockIo, MediaId, Lba, BufferSize,
> (VOID*)Buffer2);
>
>          if (ReadStatus = = =3D=3D EFI_SUCCESS) {
>
> -          for (Index1 = =3D 0; Index1 < BlockSize; Index1++) {
>
> -            i= f (Buffer2[Index1] !=3D 0) {
>
> +          for (Index1 = =3D 0, EraseCounter =3D 0; Index1 < BlockSize; Index1++) {
>
> +            i= f (Buffer2[Index1] !=3D 0x00 && Buffer2[Index1] !=3D 0xFF) {
>
>           &nbs= p;    IsZero1 =3D FALSE;
>
>           &nbs= p;    break;
>
> +            }= else if (Buffer2[Index1] =3D=3D 0x00) {
>
> +           &n= bsp;  EraseCounter++;
>
>           &nbs= p;  }
>
>            } >
> +          if (EraseCoun= ter!=3D0 && EraseCounter!=3DBlockSize) {
>
> +            I= sZero1 =3D FALSE;
>
> +          }
>
>
>
> -          for (Index1 = =3D BlockSize; Index1 < BufferSize - BlockSize; Index1++) {
>
> -            i= f (Buffer2[Index1] !=3D 0) {
>
> +          for (Index1 = =3D BlockSize, EraseCounter =3D 0; Index1 < BufferSize -
> BlockSize; Index1++) {
>
> +            i= f (Buffer2[Index1] !=3D 0x00 && Buffer2[Index1] !=3D 0xFF) {
>
>           &nbs= p;    IsZero2 =3D FALSE;
>
>           &nbs= p;    break;
>
> +            }= else if (Buffer2[Index1] =3D=3D 0x00) {
>
> +           &n= bsp;  EraseCounter++;
>
>           &nbs= p;  }
>
>            } >
> +          if (EraseCoun= ter!=3D0 && EraseCounter!=3D(BufferSize - (BlockSize*2))) {
>
> +            I= sZero2 =3D FALSE;
>
> +          }
>
>
>
> -          for (Index1 = =3D BufferSize - BlockSize; Index1 < BufferSize; Index1++) {
>
> -            i= f (Buffer2[Index1] !=3D 0) {
>
> +          for (Index1 = =3D BufferSize - BlockSize, EraseCounter =3D 0; Index1 <
> BufferSize; Index1++) {
>
> +            i= f (Buffer2[Index1] !=3D 0x00 && Buffer2[Index1] !=3D 0xFF) {
>
>           &nbs= p;    IsZero3 =3D FALSE;
>
>           &nbs= p;    break;
>
> +            }= else if (Buffer2[Index1] =3D=3D 0x00) {
>
> +           &n= bsp;  EraseCounter++;
>
>           &nbs= p;  }
>
>            } >
> +          if (EraseCoun= ter!=3D0 && EraseCounter!=3DBlockSize) {
>
> +            I= sZero3 =3D FALSE;
>
> +          }
>
>
>
>            if = ((EraseStatus =3D=3D EFI_SUCCESS) && (IsZero1 =3D=3D FALSE) &&a= mp; (IsZero2 =3D=3D
> TRUE) && ((IsZero3 =3D=3D FALSE)))
>
>           &nbs= p;  AssertionType =3D EFI_TEST_ASSERTION_PASSED;
>
> @@ -492,26 +508,41 @@ BlockIo2:
>
>          // Read the dat= a with 0, the first/last block should not be erased
>
>          ReadStatus =3D = BlockIo2->ReadBlocksEx (BlockIo2, MediaId, Lba,
> &BlockIo2Token, BufferSize, (VOID*)Buffer2);
>
>          if (ReadStatus = = =3D=3D EFI_SUCCESS) {
>
> -          for (Index1 = =3D 0; Index1 < BlockSize; Index1++) {
>
> -            i= f (Buffer2[Index1] !=3D 0) {
>
> +          for (Index1 = =3D 0, EraseCounter =3D 0; Index1 < BlockSize; Index1++) {
>
> +            i= f (Buffer2[Index1] !=3D 0x00 && Buffer2[Index1] !=3D 0xFF) {
>
>           &nbs= p;    IsZero1 =3D FALSE;
>
>           &nbs= p;    break;
>
> +            }= else if (Buffer2[Index1] =3D=3D 0x00) {
>
> +           &n= bsp;  EraseCounter++;
>
>           &nbs= p;  }
>
>            } >
> +          if (EraseCoun= ter!=3D0 && EraseCounter!=3DBlockSize) {
>
> +            I= sZero1 =3D FALSE;
>
> +          }
>
>
>
> -          for (Index1 = =3D BlockSize; Index1 < BufferSize - BlockSize; Index1++) {
>
> -            i= f (Buffer2[Index1] !=3D 0) {
>
> +          for (Index1 = =3D BlockSize, EraseCounter =3D 0; Index1 < BufferSize -
> BlockSize; Index1++) {
>
> +            i= f (Buffer2[Index1] !=3D 0x00 && Buffer2[Index1] !=3D 0xFF) {
>
>           &nbs= p;    IsZero2 =3D FALSE;
>
>           &nbs= p;    break;
>
> +            }= else if (Buffer2[Index1] =3D=3D 0x00) {
>
> +           &n= bsp;  EraseCounter++;
>
>           &nbs= p;  }
>
>            } >
> +          if (EraseCoun= ter!=3D0 && EraseCounter!=3D(BufferSize - (BlockSize*2))) {
>
> +            I= sZero2 =3D FALSE;
>
> +          }
>
>
>
> -          for (Index1 = =3D BufferSize - BlockSize; Index1 < BufferSize; Index1++) {
>
> -            i= f (Buffer2[Index1] !=3D 0) {
>
> +          for (Index1 = =3D BufferSize - BlockSize, EraseCounter =3D 0; Index1 <
> BufferSize; Index1++) {
>
> +            i= f (Buffer2[Index1] !=3D 0x00 && Buffer2[Index1] !=3D 0xFF) {
>
>           &nbs= p;    IsZero3 =3D FALSE;
>
>           &nbs= p;    break;
>
> +            }= else if (Buffer2[Index1] =3D=3D 0x00) {
>
> +           &n= bsp;  EraseCounter++;
>
>           &nbs= p;  }
>
>            } >
> +          if (EraseCoun= ter!=3D0 && EraseCounter!=3DBlockSize) {
>
> +            I= sZero3 =3D FALSE;
>
> +          }
>
>
>
>            if = ((EraseStatus =3D=3D EFI_SUCCESS) && (IsZero1 =3D=3D FALSE) &&a= mp; (IsZero2 =3D=3D
> TRUE) && ((IsZero3 =3D=3D FALSE)))
>
>           &nbs= p;  AssertionType =3D EFI_TEST_ASSERTION_PASSED;
>
> --
>
> 2.26.2.windows.1
>
>
>
>
>
> -=3D-=3D-=3D-=3D-=3D-=3D
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#66857): https://edk2.groups.io/g/devel/message/66857
> Mute This Topic: ht= tps://groups.io/mt/77977762/1945644
> Group Owner: devel+owne= r@edk2.groups.io
> Unsubscribe: https:/= /edk2.groups.io/g/devel/unsub [samer.el-haj-
> mahmoud@arm.com]
> -=3D-=3D-=3D-=3D-=3D-=3D
>

IMPORTANT NOTICE: The contents of this email and any attachments are confi= dential and may also be privileged. If you are not the intended recipient, = please notify the sender immediately and do not disclose the contents to an= y other person, use it for any purpose, or store or copy the information in any medium. Thank you.

IMPORTANT NOTICE: The contents of this email and any attachments are confi= dential and may also be privileged. If you are not the intended recipient, = please notify the sender immediately and do not disclose the contents to an= y other person, use it for any purpose, or store or copy the information in any medium. Thank you.
--_000_DM5PR11MB173745C4692479A35C229B1BFBFB0DM5PR11MB1737namp_--