From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (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 EB10321A07A92 for ; Sun, 18 Nov 2018 16:52:13 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Nov 2018 16:52:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,250,1539673200"; d="scan'208";a="109191018" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga001.fm.intel.com with ESMTP; 18 Nov 2018 16:52:13 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 18 Nov 2018 16:52:13 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.117]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.161]) with mapi id 14.03.0415.000; Mon, 19 Nov 2018 08:52:11 +0800 From: "Gao, Liming" To: Liu Yu , "\"afish@apple.com; jordan.l.justen@intel.com ; ruiyu.ni\"@intel.com" <"afish@apple.com; jordan.l.justen@intel.com ; ruiyu.ni"@intel.com> CC: "edk2-devel@lists.01.org" Thread-Topic: [edk2] EmulatorPkg/Unix/Host fixed numeric pad function Thread-Index: AQHUf06JXTLsHE7RYku1JvZ8X18lkqVWRIoQ Date: Mon, 19 Nov 2018 00:52:10 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E36E3DF@SHSMSX104.ccr.corp.intel.com> References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: EmulatorPkg/Unix/Host fixed numeric pad function 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: Mon, 19 Nov 2018 00:52:14 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 WXU6DQogIENvdWxkIHlvdSBhZGQgdGhlIHJlYXNvbiB3aHkgbWFrZSB0aGlzIGNoYW5nZT8gDQoN CiAgQmVzaWRlcywgcGxlYXNlIGFkZCBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRy aWJ1dGlvbiBBZ3JlZW1lbnQgMS4xIGJlZm9yZSBTaWduZWQtb2ZmLWJ5LiBBbmQsIGFkZCBDYzog dG8gdGhlIHBhY2thZ2UgbWFpbnRhaW5lcnMuIFRoZW4sIHVzZSBnaXQgc2VuZC1lbWFpbCB0byBz ZW5kIHRoaXMgcGF0Y2guIA0KDQpUaGFua3MNCkxpbWluZw0KPi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+RnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0 cy4wMS5vcmddIE9uIEJlaGFsZiBPZiBMaXUNCj5ZdQ0KPlNlbnQ6IFN1bmRheSwgTm92ZW1iZXIg MTgsIDIwMTggMTA6NTQgUE0NCj5UbzogImFmaXNoQGFwcGxlLmNvbTsgam9yZGFuLmwuanVzdGVu QGludGVsLmNvbSA7IHJ1aXl1Lm5pIkBpbnRlbC5jb20NCj5DYzogZWRrMi1kZXZlbEBsaXN0cy4w MS5vcmcNCj5TdWJqZWN0OiBbZWRrMl0gRW11bGF0b3JQa2cvVW5peC9Ib3N0IGZpeGVkIG51bWVy aWMgcGFkIGZ1bmN0aW9uDQo+DQo+YWRkIG51bWVyaWMgcGFkIGtleSBtYXANCj4NCj5TaWduZWQt b2ZmLWJ5OiBQZWRyb2EgTGl1IDxwZWRyb2EubGl1QG91dGxvb2suY29tPg0KPi0tLQ0KPiDCoEVt dWxhdG9yUGtnL1VuaXgvSG9zdC9YMTFHcmFwaGljc1dpbmRvdy5jIHwgNTQgKysrKysrKysrKysr KysrKysrLQ0KPi0tLS0NCj4gwqAxIGZpbGUgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMTEg ZGVsZXRpb25zKC0pDQo+DQo+ZGlmZiAtLWdpdCBhL0VtdWxhdG9yUGtnL1VuaXgvSG9zdC9YMTFH cmFwaGljc1dpbmRvdy5jDQo+Yi9FbXVsYXRvclBrZy9Vbml4L0hvc3QvWDExR3JhcGhpY3NXaW5k b3cuYw0KPmluZGV4IGEzY2MyOGMyMjMuLjU3M2YwZjFiZmQgMTAwNjQ0DQo+LS0tIGEvRW11bGF0 b3JQa2cvVW5peC9Ib3N0L1gxMUdyYXBoaWNzV2luZG93LmMNCj4rKysgYi9FbXVsYXRvclBrZy9V bml4L0hvc3QvWDExR3JhcGhpY3NXaW5kb3cuYw0KPkBAIC0yNzEsNyArMjcxLDE0IEBAIGhhbmRs ZUtleUV2ZW50ICgNCj4gwqDCoMKgwqAgfQ0KPiDCoMKgIH0NCj4NCj4twqAgLy8gU2tpcHBpbmcg RUZJX01FTlVfS0VZX1BSRVNTRUQgYW5kIEVGSV9TWVNfUkVRX1BSRVNTRUQNCj4rwqAgaWYgKChl di0+eGtleS5zdGF0ZSAmIE1vZDJNYXNrKSA9PSAwKSB7DQo+K8KgwqDCoCBEcnYtPktleVN0YXRl LktleVRvZ2dsZVN0YXRlICY9IH5FRklfTlVNX0xPQ0tfQUNUSVZFOw0KPivCoCB9IGVsc2Ugew0K PivCoMKgwqAgaWYgKE1ha2UpIHsNCj4rwqDCoMKgwqDCoCBEcnYtPktleVN0YXRlLktleVRvZ2ds ZVN0YXRlIHw9IEVGSV9OVU1fTE9DS19BQ1RJVkU7DQo+K8KgwqDCoCB9DQo+K8KgIH0NCj4rIC8v IFNraXBwaW5nIEVGSV9NRU5VX0tFWV9QUkVTU0VEIGFuZCBFRklfU1lTX1JFUV9QUkVTU0VEDQo+ DQo+IMKgwqAgc3dpdGNoICgqS2V5U3ltKSB7DQo+IMKgwqAgY2FzZSBYS19Db250cm9sX1I6DQo+ QEAgLTMyOCwzNSArMzM1LDcwIEBAIGhhbmRsZUtleUV2ZW50ICgNCj4gwqDCoMKgwqAgYnJlYWs7 DQo+DQo+IMKgwqAgY2FzZSBYS19LUF9Ib21lOg0KPivCoMKgwqAgaWYgKChEcnYtPktleVN0YXRl LktleVNoaWZ0U3RhdGUgJiAoRUZJX0xFRlRfU0hJRlRfUFJFU1NFRCB8DQo+RUZJX1JJR0hUX1NI SUZUX1BSRVNTRUQpKSBeIChEcnYtPktleVN0YXRlLktleVRvZ2dsZVN0YXRlICYNCj4oRUZJX05V TV9MT0NLX0FDVElWRSkpKSB7DQo+K8KgwqDCoMKgwqAgS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIg PSBMJzcnOyBicmVhazsNCj4rwqDCoMKgIH0NCj4gwqDCoCBjYXNlIFhLX0hvbWU6wqDCoMKgwqDC oMKgIEtleURhdGEuS2V5LlNjYW5Db2RlID0gU0NBTl9IT01FOyBicmVhazsNCj4NCj4gwqDCoCBj YXNlIFhLX0tQX0VuZDoNCj4rwqDCoMKgIGlmICgoRHJ2LT5LZXlTdGF0ZS5LZXlTaGlmdFN0YXRl ICYgKEVGSV9MRUZUX1NISUZUX1BSRVNTRUQgfA0KPkVGSV9SSUdIVF9TSElGVF9QUkVTU0VEKSkg XiAoRHJ2LT5LZXlTdGF0ZS5LZXlUb2dnbGVTdGF0ZSAmDQo+KEVGSV9OVU1fTE9DS19BQ1RJVkUp KSkgew0KPivCoMKgwqDCoMKgIEtleURhdGEuS2V5LlVuaWNvZGVDaGFyID0gTCcxJzsgYnJlYWs7 DQo+K8KgwqDCoCB9DQo+IMKgwqAgY2FzZSBYS19FbmQ6wqDCoMKgwqDCoMKgwqAgS2V5RGF0YS5L ZXkuU2NhbkNvZGUgPSBTQ0FOX0VORDsgYnJlYWs7DQo+DQo+IMKgwqAgY2FzZSBYS19LUF9MZWZ0 Og0KPivCoMKgwqAgaWYgKChEcnYtPktleVN0YXRlLktleVNoaWZ0U3RhdGUgJiAoRUZJX0xFRlRf U0hJRlRfUFJFU1NFRCB8DQo+RUZJX1JJR0hUX1NISUZUX1BSRVNTRUQpKSBeIChEcnYtPktleVN0 YXRlLktleVRvZ2dsZVN0YXRlICYNCj4oRUZJX05VTV9MT0NLX0FDVElWRSkpKSB7DQo+K8KgwqDC oMKgwqAgS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPSBMJzQnOyBicmVhazsNCj4rwqDCoMKgIH0N Cj4gwqDCoCBjYXNlIFhLX0xlZnQ6wqDCoMKgwqDCoMKgIEtleURhdGEuS2V5LlNjYW5Db2RlID0g U0NBTl9MRUZUOyBicmVhazsNCj4NCj4gwqDCoCBjYXNlIFhLX0tQX1JpZ2h0Og0KPivCoMKgwqAg aWYoKERydi0+S2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmIChFRklfTEVGVF9TSElGVF9QUkVTU0VE IHwNCj5FRklfUklHSFRfU0hJRlRfUFJFU1NFRCkpIF4gKERydi0+S2V5U3RhdGUuS2V5VG9nZ2xl U3RhdGUgJg0KPihFRklfTlVNX0xPQ0tfQUNUSVZFKSkgKXsNCj4rwqDCoMKgwqDCoCBLZXlEYXRh LktleS5Vbmljb2RlQ2hhciA9IEwnNic7IGJyZWFrOw0KPivCoMKgwqAgfQ0KPiDCoMKgIGNhc2Ug WEtfUmlnaHQ6wqDCoMKgwqDCoCBLZXlEYXRhLktleS5TY2FuQ29kZSA9IFNDQU5fUklHSFQ7IGJy ZWFrOw0KPg0KPiDCoMKgIGNhc2UgWEtfS1BfVXA6DQo+K8KgwqDCoCBpZigoRHJ2LT5LZXlTdGF0 ZS5LZXlTaGlmdFN0YXRlICYgKEVGSV9MRUZUX1NISUZUX1BSRVNTRUQgfA0KPkVGSV9SSUdIVF9T SElGVF9QUkVTU0VEKSkgXiAoRHJ2LT5LZXlTdGF0ZS5LZXlUb2dnbGVTdGF0ZSAmDQo+KEVGSV9O VU1fTE9DS19BQ1RJVkUpKSApew0KPivCoMKgwqDCoMKgIEtleURhdGEuS2V5LlVuaWNvZGVDaGFy ID0gTCc4JzsgYnJlYWs7DQo+K8KgwqDCoCB9DQo+IMKgwqAgY2FzZSBYS19VcDrCoMKgwqDCoMKg wqDCoMKgIEtleURhdGEuS2V5LlNjYW5Db2RlID0gU0NBTl9VUDsgYnJlYWs7DQo+DQo+IMKgwqAg Y2FzZSBYS19LUF9Eb3duOg0KPivCoMKgwqAgaWYoKERydi0+S2V5U3RhdGUuS2V5U2hpZnRTdGF0 ZSAmIChFRklfTEVGVF9TSElGVF9QUkVTU0VEIHwNCj5FRklfUklHSFRfU0hJRlRfUFJFU1NFRCkp IF4gKERydi0+S2V5U3RhdGUuS2V5VG9nZ2xlU3RhdGUgJg0KPihFRklfTlVNX0xPQ0tfQUNUSVZF KSkgKXsNCj4rwqDCoMKgwqDCoCBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnMic7IGJyZWFr Ow0KPivCoMKgwqAgfQ0KPiDCoMKgIGNhc2UgWEtfRG93bjrCoMKgwqDCoMKgwqAgS2V5RGF0YS5L ZXkuU2NhbkNvZGUgPSBTQ0FOX0RPV047IGJyZWFrOw0KPg0KPiDCoMKgIGNhc2UgWEtfS1BfRGVs ZXRlOg0KPivCoMKgwqAgaWYoKERydi0+S2V5U3RhdGUuS2V5U2hpZnRTdGF0ZSAmIChFRklfTEVG VF9TSElGVF9QUkVTU0VEIHwNCj5FRklfUklHSFRfU0hJRlRfUFJFU1NFRCkpIF4gKERydi0+S2V5 U3RhdGUuS2V5VG9nZ2xlU3RhdGUgJg0KPihFRklfTlVNX0xPQ0tfQUNUSVZFKSkgKXsNCj4rwqDC oMKgwqDCoCBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnLic7IGJyZWFrOw0KPivCoMKgwqAg fQ0KPiDCoMKgIGNhc2UgWEtfRGVsZXRlOsKgwqDCoMKgwqDCoCBLZXlEYXRhLktleS5TY2FuQ29k ZSA9IFNDQU5fREVMRVRFOyBicmVhazsNCj4NCj4gwqDCoCBjYXNlIFhLX0tQX0luc2VydDoNCj4r wqDCoMKgIGlmKChEcnYtPktleVN0YXRlLktleVNoaWZ0U3RhdGUgJiAoRUZJX0xFRlRfU0hJRlRf UFJFU1NFRCB8DQo+RUZJX1JJR0hUX1NISUZUX1BSRVNTRUQpKSBeIChEcnYtPktleVN0YXRlLktl eVRvZ2dsZVN0YXRlICYNCj4oRUZJX05VTV9MT0NLX0FDVElWRSkpICl7DQo+K8KgwqDCoMKgwqAg S2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPSBMJzAnO2JyZWFrOw0KPivCoMKgwqAgfQ0KPiDCoMKg IGNhc2UgWEtfSW5zZXJ0OsKgwqDCoMKgIEtleURhdGEuS2V5LlNjYW5Db2RlID0gU0NBTl9JTlNF UlQ7IGJyZWFrOw0KPg0KPiDCoMKgIGNhc2UgWEtfS1BfUGFnZV9VcDoNCj4rwqDCoMKgIGlmKChE cnYtPktleVN0YXRlLktleVNoaWZ0U3RhdGUgJiAoRUZJX0xFRlRfU0hJRlRfUFJFU1NFRCB8DQo+ RUZJX1JJR0hUX1NISUZUX1BSRVNTRUQpKSBeIChEcnYtPktleVN0YXRlLktleVRvZ2dsZVN0YXRl ICYNCj4oRUZJX05VTV9MT0NLX0FDVElWRSkpICl7DQo+K8KgwqDCoMKgwqAgS2V5RGF0YS5LZXku VW5pY29kZUNoYXIgPSBMJzknOyBicmVhazsNCj4rwqDCoMKgIH0NCj4gwqDCoCBjYXNlIFhLX1Bh Z2VfVXA6wqDCoMKgIEtleURhdGEuS2V5LlNjYW5Db2RlID0gU0NBTl9QQUdFX1VQOyBicmVhazsN Cj4NCj4gwqDCoCBjYXNlIFhLX0tQX1BhZ2VfRG93bjoNCj4rwqDCoMKgIGlmKChEcnYtPktleVN0 YXRlLktleVNoaWZ0U3RhdGUgJiAoRUZJX0xFRlRfU0hJRlRfUFJFU1NFRCB8DQo+RUZJX1JJR0hU X1NISUZUX1BSRVNTRUQpKSBeIChEcnYtPktleVN0YXRlLktleVRvZ2dsZVN0YXRlICYNCj4oRUZJ X05VTV9MT0NLX0FDVElWRSkpICl7DQo+K8KgwqDCoMKgwqAgS2V5RGF0YS5LZXkuVW5pY29kZUNo YXIgPSBMJzMnOyBicmVhazsNCj4rwqDCoMKgIH0NCj4gwqDCoCBjYXNlIFhLX1BhZ2VfRG93bjrC oCBLZXlEYXRhLktleS5TY2FuQ29kZSA9IFNDQU5fUEFHRV9ET1dOOyBicmVhazsNCj4NCj4rwqAg Y2FzZSBYS19LUF9CZWdpbjoNCj4rwqDCoMKgIGlmKChEcnYtPktleVN0YXRlLktleVNoaWZ0U3Rh dGUgJiAoRUZJX0xFRlRfU0hJRlRfUFJFU1NFRCB8DQo+RUZJX1JJR0hUX1NISUZUX1BSRVNTRUQp KSBeIChEcnYtPktleVN0YXRlLktleVRvZ2dsZVN0YXRlICYNCj4oRUZJX05VTV9MT0NLX0FDVElW RSkpICl7DQo+K8KgwqDCoMKgwqAgS2V5RGF0YS5LZXkuVW5pY29kZUNoYXIgPSBMJzUnOyBicmVh azsNCj4rwqDCoMKgIH0NCj4rwqDCoMKgIC8qIG5vIG1hcCBlZmkgc2NhbiBjb2RlICovIGJyZWFr Ow0KPiDCoMKgIGNhc2UgWEtfRXNjYXBlOsKgwqDCoMKgIEtleURhdGEuS2V5LlNjYW5Db2RlID0g U0NBTl9FU0M7IGJyZWFrOw0KPg0KPiDCoMKgIGNhc2UgWEtfUGF1c2U6wqDCoMKgwqDCoCBLZXlE YXRhLktleS5TY2FuQ29kZSA9IFNDQU5fUEFVU0U7IGJyZWFrOw0KPkBAIC00MzEsMTYgKzQ3Myw2 IEBAIGhhbmRsZUtleUV2ZW50ICgNCj4gwqDCoCBjYXNlIFhLX0tQX0RlY2ltYWzCoMKgwqAgOiBL ZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnLic7IGJyZWFrOw0KPiDCoMKgIGNhc2UgWEtfS1Bf RGl2aWRlwqDCoMKgwqAgOiBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnLyc7IGJyZWFrOw0K Pg0KPi3CoCBjYXNlIFhLX0tQXzDCoMKgwqAgOiBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwn MCc7IGJyZWFrOw0KPi3CoCBjYXNlIFhLX0tQXzHCoMKgwqAgOiBLZXlEYXRhLktleS5Vbmljb2Rl Q2hhciA9IEwnMSc7IGJyZWFrOw0KPi3CoCBjYXNlIFhLX0tQXzLCoMKgwqAgOiBLZXlEYXRhLktl eS5Vbmljb2RlQ2hhciA9IEwnMic7IGJyZWFrOw0KPi3CoCBjYXNlIFhLX0tQXzPCoMKgwqAgOiBL ZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnMyc7IGJyZWFrOw0KPi3CoCBjYXNlIFhLX0tQXzTC oMKgwqAgOiBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnNCc7IGJyZWFrOw0KPi3CoCBjYXNl IFhLX0tQXzXCoMKgwqAgOiBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnNSc7IGJyZWFrOw0K Pi3CoCBjYXNlIFhLX0tQXzbCoMKgwqAgOiBLZXlEYXRhLktleS5Vbmljb2RlQ2hhciA9IEwnNic7 IGJyZWFrOw0KPi3CoCBjYXNlIFhLX0tQXzfCoMKgwqAgOiBLZXlEYXRhLktleS5Vbmljb2RlQ2hh ciA9IEwnNyc7IGJyZWFrOw0KPi3CoCBjYXNlIFhLX0tQXzjCoMKgwqAgOiBLZXlEYXRhLktleS5V bmljb2RlQ2hhciA9IEwnOCc7IGJyZWFrOw0KPi3CoCBjYXNlIFhLX0tQXznCoMKgwqAgOiBLZXlE YXRhLktleS5Vbmljb2RlQ2hhciA9IEwnOSc7IGJyZWFrOw0KPg0KPiDCoMKgIGRlZmF1bHQ6DQo+ IMKgwqDCoMKgIDsNCj4tLQ0KPjIuMTcuMQ0KPg0KPl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fDQo+ZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj5lZGsyLWRl dmVsQGxpc3RzLjAxLm9yZw0KPmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8v ZWRrMi1kZXZlbA0K