From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web09.3644.1621481996463506862 for ; Wed, 19 May 2021 20:39:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=LF/0ArrZ; spf=pass (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=07742dd89c=daniel.schaefer@hpe.com) Received: from pps.filterd (m0134423.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 14K3YF9a011140; Thu, 20 May 2021 03:39:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pps0720; bh=ChCDIv856okLMY35t8/4VvunMoE850gevlGlfFM9PWM=; b=LF/0ArrZ4eOhOuQSiuCAOA8aOC3MirH8vU7d6jvKJO1VqP7Yga71TGuEICSU30Ic0w9J OJQwmMr925hO+OBlxXtgMKiWwxU8I7gK9hsxbkzay2k4yC+sDsCl86u8B9a8F1/OXdJE 5/XjgqZe+ZPtXMA7ZSWrUpNFnF9Cx5YSyKDhkMPlMRGDYUIXj5Y7x8pIVdPsN+27fPwi vBtFLWG58zmkMy8xLklneOXIZjX3qfCp4dEARZJSGtqLTJhYTOG7tUEQ3BzTTek228+R Y3ysTHk2QaMbQ+MN3o8lZgVEQhEF8iwhJBbgGY1QPuf1KlpExTj8FbS3hXbCvzBcV1vv Gg== Received: from g4t3425.houston.hpe.com (g4t3425.houston.hpe.com [15.241.140.78]) by mx0b-002e3701.pphosted.com with ESMTP id 38myf30g3d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 May 2021 03:39:48 +0000 Received: from G2W6310.americas.hpqcorp.net (g2w6310.austin.hp.com [16.197.64.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g4t3425.houston.hpe.com (Postfix) with ESMTPS id 7E466B8; Thu, 20 May 2021 03:39:47 +0000 (UTC) Received: from G4W9119.americas.hpqcorp.net (2002:10d2:14d6::10d2:14d6) by G2W6310.americas.hpqcorp.net (2002:10c5:4034::10c5:4034) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 20 May 2021 03:39:37 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (15.241.52.12) by G4W9119.americas.hpqcorp.net (16.210.20.214) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 20 May 2021 03:39:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BxGRdUHiFWC9gslM1V8pEPK/r51jFC0q4/94hxxAatnVDaorJLNqGgW7tESUnipKwTIrPV1f45Rs4IYjIpTud+QVrNP4mhiEJo6+4mQga1UpUtWKl0W51jS0w2fDCtoM60jDfXaMjda8HUbev1iRzsej6kRAgAt2IoP8H0PHY80grmDQAg1C0NaC693I79tG3FOHPTkMl3y1UYrBQYU71bOyAMUHCLanYhkCP3fWiAjKRAH668gHBmxhUI012ijEFS1E+AmqX4cTdIQ7WuUdEeTAeg5AoYeCLYwgutiNkmdwasK6DZfWm7uVbZOmwKqVqEORjtmKOIs3m6KzkU74IA== 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=unJ5TVaGEz+5uJw+pfTatNHvweacai7vQGjsO7XnP94=; b=aaaxT9ZfE3ZBxd48wPOycZdF18e40k0an/KGXuqCgXvLoW17sAfNXee2GNQAT3oQgrgxOvCyb3Mww24MDYsxhl4FbQGBazxrfq20H8+3qLmy+W/aQ8uaZh2qxnkB1PzYFYc3UUThH5spFUi9KVrdYLt3Ju3CdQdK7G5AeEc/kQp5f4PEkgTtqi+qkD9oj2hqfwkPYabSOTSMQCwaXGMQbohxxTlmYCZqzKWNz6sqkXP/Ojk/Fk5rX8r/Kw0wHWzEr5/9CNfsdk/43JFl5zkMRMbxEko/+clgnpiV08rAUiGOXrGIpSrpv/DHRuJFCGmL539KoBZN11vpwQAop2a1dQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from DF4PR8401MB0444.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:760d::23) by DF4PR8401MB0666.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7607::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25; Thu, 20 May 2021 03:39:34 +0000 Received: from DF4PR8401MB0444.NAMPRD84.PROD.OUTLOOK.COM ([fe80::1055:761b:7ee6:52ca]) by DF4PR8401MB0444.NAMPRD84.PROD.OUTLOOK.COM ([fe80::1055:761b:7ee6:52ca%11]) with mapi id 15.20.4129.033; Thu, 20 May 2021 03:39:34 +0000 From: "Daniel Schaefer" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" , "kaaira7319@gmail.com" , 'Ray Ni' , "mikuback@linux.microsoft.com" Subject: =?UTF-8?B?UmU6IOWbnuWkjTogW2VkazItZGV2ZWxdIEdTb0MgMjAyMSBRZW11IE9wZW5Cb2FyZFBrZyBQcm9qZWN0?= Thread-Topic: =?gb2312?B?u9i4tDogW2VkazItZGV2ZWxdIEdTb0MgMjAyMSBRZW11IE9wZW5Cb2FyZFBr?= =?gb2312?Q?g_Project?= Thread-Index: AQHXS/K0noN0AvjGCEuUmy2X8qaYIqrpT/+AgACuQ4CAARL+gIAAGICAgACQJuE= Date: Thu, 20 May 2021 03:39:34 +0000 Message-ID: References: <20210518143156.GA24025@kaaira-HP-Pavilion-Notebook> <20210518144155.GA25679@kaaira-HP-Pavilion-Notebook> <000001d74c4b$1ae82a80$50b87f80$@byosoft.com.cn> <2162525c-4e35-0c09-4594-ecbfbc740dcc@linux.microsoft.com>,<276316c8-9355-2a6d-3786-ca743e1e772d@linux.microsoft.com> In-Reply-To: <276316c8-9355-2a6d-3786-ca743e1e772d@linux.microsoft.com> Accept-Language: en-US, de-DE 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=hpe.com; x-originating-ip: [123.193.59.220] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 92551595-7b7b-4805-10ab-08d91b40e2c5 x-ms-traffictypediagnostic: DF4PR8401MB0666: 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: l7pb29v5J5rb0CczTuiNHHpXBsrxi9z4sVt7sYGSwCMSQ7worpPxNiJsM1ThirnE6NsXpLVPS2RF8gMFfucDO2WDu6ILqJFaso8VCN1iIYVBg6Z6HMq7vgRr0iYaQpOJVr9k1ghXEUZ9lslFI+G8KLURw6VzD3dfJTJGKJSB7i8wTQHItxCpPKxmvN3GuCIUR5w2DKcIGrRAkeNjtE9vk2JqDg/WF4FJlnC0WQQ9Mx+N3nPP8SAnUsQVqCYQC8RJtcSxcEAv7YzUFpfWlYK9L+8zlxg4MRAdW4hqLFAYQORseyOB7lEI4qdAaorAgRd5nfxM93EhRADkGbXT3bg20OsCe3Q2pVf/a96h2PS6lb4tXiCIxC9Mlu+Bctd5bB5qA5xx/hPDnR4xJMpRAtxt7FERT2CujcuZXo1ZatzelMBG4uQVFllh4Aao1l9yNo4CJ0FAnsoxYiEim4R3q47mYoXFyDmDUdCxoSujwSxEXrMy3P/vHT7D/9qf4JnDzicnXE6rjr9oVorf04mVWZLDFETzHofKQ8cJOwzSjUiZZuuOFzaroSud3eaaqRJo9Bn3+yWCyCrXxf+nx3SiT9As7c4TFq+KIKjEnHHwm4bJiXFEgY64yiHKPtx+1pUHczF4O+UNk2Dv7+PsDICF6pg9aQ5xWtprLrmMeqlWCWf+SsYzGCNzqm/NKNA/KFPOjLxP x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DF4PR8401MB0444.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(366004)(39860400002)(396003)(346002)(136003)(376002)(33656002)(52536014)(55016002)(316002)(9686003)(86362001)(8936002)(19627235002)(110136005)(30864003)(21615005)(26005)(76116006)(66556008)(45080400002)(186003)(38100700002)(83380400001)(478600001)(5660300002)(2906002)(166002)(53546011)(64756008)(66446008)(91956017)(71200400001)(19627405001)(66476007)(7696005)(66946007)(6506007)(224303003)(122000001)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?gb2312?B?Y0lNZFhVa3R5USt2NTN2YUtSOGl5M1daYXpKdnBPaHMwVWFOcER4N2trb2gx?= =?gb2312?B?djBnQTBSTmJPdHVFZGJOZ3ZqdU5mNkxhdWJMRnQwRHNrRjJBRERzZTdsOVFx?= =?gb2312?B?eGZTZXM3SGp6WHZncHIzOVF3SUFyOEpuRmVlZ0phdG9sOUgzaCtLVHdDbXVF?= =?gb2312?B?U0V6SURmdmxsRCt0eC9OOXFuc1VjSk1xbUpxQnpKbDc1QjlvUXdUaTdFNVZl?= =?gb2312?B?RnhxaTFYbXJEWEVWMk1GMkdKRk5jRDBrMjZBZEo5dm8zQ0dkSE10S3BHZURF?= =?gb2312?B?MnBjODgwMmV3Y2M4Qk8yZzBmZXNjNENqQ2VNUGhhV0hiNlJmL2dOMzk2akJH?= =?gb2312?B?L204ZVhFQncycXpCT3h0blo5V3pQNGVleGxlaWZkWTNyYzEvd3F6ZzREVHpM?= =?gb2312?B?OFBUdTdNcFdCR3ZtN1gyR2t6WWdEOEZhZnBjMlR3R2RObGxlNGpNMXVmdXhn?= =?gb2312?B?Y2pHdlY3SkdaaEMrOWhseGJOcmRJeFVBKzJEUTRBcW1GVjlwckpQQ1RhZmE5?= =?gb2312?B?d2FhbDZsUy9KcWllNXM1VE9hQmlwbXBLdGU2d1RXTmVQQVF1bmVicTJtTEVX?= =?gb2312?B?ZW9WWEE4MVdMNEFZVTYxZHYwRWtzc21EREZuNnRGem5LMUhtcW5aalY2QWN0?= =?gb2312?B?NUpzMVNhQ203WjJ6dWFsUFYvMW5ObEVxQVhQQ1pKRXMyUFkzRWtlV0VSemQ1?= =?gb2312?B?TFAxQ25lQ3I2S0lGczZ4UG5ic3Z1eEtYWm5QeGZZQ0k3Y0o4RXk3YWtPeHA1?= =?gb2312?B?RFM2d04zeHY5enJSVE11aFJuV2t0VGxCbVU0bURtMk9zZ3ZYU3ZzR29haGVz?= =?gb2312?B?c3YrTnFQU0I4QStnaU1aa2pkRnR2aFQ5STR6Nm5zUnRXTHl3bDN1NUsrMlpX?= =?gb2312?B?c1NoYnpybzNGcU92dlBrK2JlWTdnTWQxSGJmc1llbllhOFNtaVFuNmkxNEpm?= =?gb2312?B?TjdHSkwyaG1HemRNNDFYcTlibVBtWFZ0bWpYN24ycVFHMzlucTducW9JUmRJ?= =?gb2312?B?cUVEekR1ak1DOTRqaSsrWXlWbWNzejZ5eDhPdmh0Y2t1YUtCWUR0d2cyeTNi?= =?gb2312?B?aXQvSzFHdmtQaWkxVElHcnJTRkVZN2U3WUd4d2V6Nk1ibG1IZkh1cUNkY2xB?= =?gb2312?B?MHRUQ1dJK2VScmZIZm1SdkhMckIyQXVoNHFPQlF1WDN1MnhnRFMvSldjZXUw?= =?gb2312?B?cDNnTENxWEwxTm5mM1RGR2VSblNFRUNNV01DdUFRWUY1VDMrQkM5TUNpSHFz?= =?gb2312?B?eDdVSFgwbytWQlJjWW9xaURiQWN0YUIrTGdaSVU3cGJQb3dEdjRQcUVISXFq?= =?gb2312?B?NmhGRk5IVWZtZkxmL2FzcUlyN28wWmptWHZHMTFSVDdUZHA0VFhGVHRudjZ4?= =?gb2312?B?SXQvRTk0a2diZXlGNmE3SUFUdDExSC8za0lKT3R0a1hETWNDM0ZiTWg3VC9Q?= =?gb2312?B?OVY0ZzZISHZJbGc5UkJFTEw1VUZYR2pKaTlMWFA2ZXg2WnVGcCtMMnFzeCtl?= =?gb2312?B?RE8zS3d6N3RpZDZSZE9aY2VZQWF1Y21acGxyZUI5NGNrd0Q0OHk4K1NhQ0N2?= =?gb2312?B?czRSZmwraHZpTmNnUTJxWkpLUkpLUVl6STBwSkIybmo1UHlHZ2lScDFZeWR0?= =?gb2312?B?MjdVSTh5bjlDVDZ6MzQ1TzZSa0FMY1MwTGpRVHRrZCtiRWpuUUt0WEFsbyts?= =?gb2312?B?ZU9IRTZ2czdRRllYTW9vN2ZVbXp1cGJjTnNjay9hSXo2elZUckZ1amQrZjhW?= =?gb2312?Q?V94lLoN93uvHNlJenT0dp9BB+6UC32oHEBv5HrK?= x-ms-exchange-transport-forked: True X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DF4PR8401MB0444.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 92551595-7b7b-4805-10ab-08d91b40e2c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 May 2021 03:39:34.4539 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8RAVFovSK5HFaSj7ebgRMMEWL07NMDQ/EkD8fxas0ZA9ZP+zoJegtjuJ/pncZwRlleR6PP0fJZUGqklPsTDGZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR8401MB0666 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: 8766j3C26_wp_Uomwg3eOnatBoUij18x X-Proofpoint-ORIG-GUID: 8766j3C26_wp_Uomwg3eOnatBoUij18x X-Proofpoint-UnRewURL: 20 URL's were un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.761 definitions=2021-05-19_10:2021-05-19,2021-05-19 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 impostorscore=0 mlxscore=0 bulkscore=0 spamscore=0 adultscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2105200026 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_DF4PR8401MB044467A8A6187CD77A45CAE5E02A9DF4PR8401MB0444_" --_000_DF4PR8401MB044467A8A6187CD77A45CAE5E02A9DF4PR8401MB0444_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGksDQoNCnRoYXQgc291bmRzIGxpa2UgYSBncmVhdCBwcm9qZWN0IQ0KDQpJJ20gY3VycmVudGx5 IHRyeWluZyB0byBjcmVhdGUgYW4gZXF1aXZhbGVudCBvZiBPdm1mUGtnIGZvciB0aGUgUklTQ1Y2 NCBnZW5lcmljIFFFTVUgdmlydCBtYWNoaW5lLg0KSSBkb24ndCBsaWtlIGhvdyBtdWNoIG9mIG15 IERTQyBhbmQgRkRGIGZpbGUgaGFzIG1vZHVsZXMgdGhhdCBwcmV0dHkgbXVjaCBhbGwgcGxhdGZv cm1zIHNob3VsZCBoYXZlLg0KTWluUGxhdGZvcm0gd291bGQgaGVscCByZWR1Y2UgdGhhdCwgcmln aHQ/DQpJcyBNaW5QbGF0Zm9ybSBmbGV4aWJsZSBlbm91Z2ggdG8gYWNjb3VudCBmb3Igbm9uLVg2 NCBwbGF0Zm9ybXM/DQoNCklmIHNvLCB0aGVuIEkgdGhpbmsgS2FhaXJhIGFuZCBJIGNvdWxkIGNv bGxhYm9yYXRlLg0KDQpDaGVlcnMsDQpEYW5pZWwNCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+ IG9uIGJlaGFsZiBvZiBNaWNoYWVsIEt1YmFja2kgPG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5j b20+DQpTZW50OiBUaHVyc2RheSwgTWF5IDIwLCAyMDIxIDAyOjU3DQpUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPjsgZ2FvbGltaW5nQGJ5b3NvZnQuY29tLmNu IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBrYWFpcmE3MzE5QGdtYWlsLmNvbSA8a2FhaXJh NzMxOUBnbWFpbC5jb20+OyAnUmF5IE5pJyA8cmF5Lm5pQGludGVsLmNvbT4NClN1YmplY3Q6IFJl OiC72Li0OiBbZWRrMi1kZXZlbF0gR1NvQyAyMDIxIFFlbXUgT3BlbkJvYXJkUGtnIFByb2plY3QN Cg0KSSBhbHNvIHdhbnRlZCB0byBhZGQgdGhhdCBJIHdpbGwgYmUgc2V0dGluZyB1cCB3ZWVrbHkg dmlkZW8gY2FsbHMNCmluY2x1ZGluZyBSYXkgdGhhdCB3ZSBjYW4gdXNlIHRvIHN1cHBsZW1lbnQg bWFpbGluZyBsaXN0IGNvbW11bmljYXRpb24uDQoNCkkgc3VnZ2VzdCB0aGUgcHJpbWFyeSBjb21t dW5pY2F0aW9uIG1lY2hhbmlzbSBiZSB0aGUgbWFpbGluZyBsaXN0IGFuZCB3ZQ0KdXNlIHRob3Nl IGNhbGxzIGZvciBjbGFyaWZpY2F0aW9uLCBkZXRhaWxlZCBwcm9qZWN0IHBsYW5uaW5nLCBhbmQg dG9waWNzDQpub3QgZGlyZWN0bHkgcmVsZXZhbnQgdG8gdGhlIGxpc3QuDQoNClJlZ2FyZHMsDQpN aWNoYWVsDQoNCk9uIDUvMTkvMjAyMSAxMDoyOSBBTSwgTWljaGFlbCBLdWJhY2tpIHdyb3RlOg0K PiBUaGFua3MgTGltaW5nLg0KPg0KPiBIaSBLYWFpcmEsDQo+DQo+IFdlbGNvbWUhIFlvdSBjYW4g Y29udGFjdCBtZSBhdCBtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tLiBZb3Ugd2lsbA0KPiBz b21ldGltZXMgc2VlIG15IGVtYWlsIGFzIG1pY2hhZWwua3ViYWNraUBtaWNyb3NvZnQuY29tIGFu ZCB0aGF0IGlzIGZpbmUNCj4gdG8gdXNlIGZvciBjb21tdW5pY2F0aW9uIHRob3VnaCBJIHRlbmQg dG8gbm90IHVzZSBpdCBvbiB0aGUgbWFpbGluZyBsaXN0DQo+IGR1ZSB0byB3YXkgdGhlIG1haWwg c2VydmVyIG1hbmlwdWxhdGVzIHBsYWludGV4dCBlbWFpbC4NCj4NCj4gR0VORVJJQyBSRVNPVVJD RVMNCj4NCj4gSSdtIHNoYXJpbmcgc29tZSBnZW5lcmFsIHJlc291cmNlcyBpbiBjYXNlIHlvdSBh cmUgbm90IGFscmVhZHkgZmFtaWxpYXINCj4gd2l0aCB0aGVtOg0KPg0KPiAxLiBodHRwczovL2dp dGh1Yi5jb20vdGlhbm9jb3JlLXRyYWluaW5nL1RpYW5vY29yZV9UcmFpbmluZ19Db250ZW50cy93 aWtpDQo+DQo+IFRoaXMgb25lIGlzIGdvb2QgZm9yIHRvcGljcyBsaWtlIFVFRkkgb3ZlcnZpZXcs IEVESyBJSSBjb25jZXB0cywgYW5kDQo+IE1pbmltdW0gUGxhdGZvcm0uDQo+DQo+IEluIHBhcnRp Y3VsYXIgZm9yIHlvdXIgcHJvamVjdCwgSSByZWNvbW1lbmQgbG9va2luZyB0aHJvdWdoIHRoZQ0K PiBNaW5QbGF0Zm9ybSB0cmFpbmluZyAtDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUt dHJhaW5pbmcvUHJlc2VudGF0aW9uX0ZXL2Jsb2IvbWFzdGVyL0ZXL1ByZXNlbnRhdGlvbnMvX0Rf MDVfRURLX0lJX09wZW5fU291cmNlX01pblBsYXRmb3JtX3ByZXNfZ3AucGRmDQo+DQo+DQo+IDIu DQo+IGh0dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3VzL2VuL2RldmVsb3Av YXJ0aWNsZXMvdW5pZmllZC1leHRlbnNpYmxlLWZpcm13YXJlLWludGVyZmFjZS5odG1sDQo+DQo+ DQo+IFRoZXNlIHdoaXRlcGFwZXJzIGFyZSB1c2VmdWwgd2hlbiB5b3UgbmVlZCBtb3JlIGluIGRl cHRoIGRldGFpbCBhYm91dCBhDQo+IHBhcnRpY3VsYXIgYXJlYSAobGlrZSBjYXBzdWxlIHVwZGF0 ZSBvciB3b3JrIHJlbGF0ZWQgdG8gdGhlIG1lbW9yeSBtYXApLg0KPiBJIHJlY29tbWVuZCBib29r bWFya2luZyBpdCBhbmQga2VlcGluZyBpdCBpbiBtaW5kIGFzIGEgcmVmZXJlbmNlLg0KPg0KPiAz LiBodHRwczovL3VlZmkub3JnL2xlYXJuaW5nX2NlbnRlci9wcmVzZW50YXRpb25zYW5kdmlkZW9z Lw0KPg0KPiBTY3JvbGwgdGhyb3VnaCBoZXJlIGlmIHlvdSBoYXZlIHNvbWUgdGltZSBhbmQgc2Vl IGlmIHRoZXJlJ3MgYW55dGhpbmcNCj4gaW50ZXJlc3RpbmcuIFRvIGhlbHAga2VlcCBvbiB5b3Vy IHByb2plY3Qgc2NoZWR1bGUgSSBkb24ndCB0aGluayB0aGVzZQ0KPiBhcmUgYXMgaW1wb3J0YW50 IGJ1dCB0aGVyZSBpcyBhIGxvdCBvZiBpbnRlcmVzdGluZyBtYXRlcmlhbCB0aGVyZS4NCj4NCj4g UmVhZGluZyB0aHJvdWdoIHNvbWUgb2YgdGhlIGtleSBjb25jZXB0cyBpbiBCZXlvbmQgQklPUyBj YW4gYmUgaGVscGZ1bA0KPiBhbmQgbGlrZSB0aGUgVUVGSSwgQUNQSSwgYW5kIFBJIChQbGF0Zm9y bSBJbml0aWFsaXphdGlvbikgc3BlY3MgYXQNCj4gaHR0cHM6Ly91ZWZpLm9yZy9zcGVjaWZpY2F0 aW9ucywgSSBiZWxpZXZlIHRoZXkgYXJlIG1vc3QgdXNlZnVsIGFzDQo+IHJlZmVyZW5jZXMgd2hl biB5b3UgYXJlIHNvbHZpbmcgc3BlY2lmaWMgcHJvYmxlbXMuDQo+DQo+IFBST0pFQ1QtU1BFQ0lG SUMgUkVTT1VSQ0VTDQo+DQo+IFNpbmNlIHlvdXIgcHJvamVjdCBpbnZvbHZlcyBjcmVhdGluZyBR RU1VIGJvYXJkIHdpdGhpbiB0aGUgTWluaW11bQ0KPiBQbGF0Zm9ybSBhcmNoaXRlY3R1cmUsIHlv dSBjYW4gc3RhcnQgbG9va2luZyBpbnRvOg0KPg0KPiAxLiBRRU1VIC0gQW4gb3BlbiBzb3VyY2Ug bWFjaGluZSBlbXVsYXRvcg0KPiAyLiBNaW5pbXVtIFBsYXRmb3JtIEFyY2hpdGVjdHVyZSAtIEEg c29mdHdhcmUgYXJjaGl0ZWN0dXJlIHRvIGNyZWF0ZQ0KPiBiYXNpYyBwbGF0Zm9ybSBmaXJtd2Fy ZSB0aGF0IGNhbiBiZSBleHRlbmRlZCB3aXRoIGFkdmFuY2VkIGZ1bmN0aW9uYWxpdHkuDQo+IDMu IEludGVsIEZTUCAtIFRyeSB0byB1bmRlcnN0YW5kIHRoZSBoaWdoLWxldmVsIGdvYWxzIGFuZCBo b3cgRlNQDQo+IGludGVyZmFjZXMgd2l0aCBmaXJtd2FyZS4NCj4NCj4gMS4gUUVNVSAtIGh0dHBz Oi8vd3d3LnFlbXUub3JnLw0KPg0KPiBQbGVhc2Ugc2V0IHVwIHRoZSBRRU1VIGVudmlyb25tZW50 LiBZb3VyIFFlbXVPcGVuQm9hcmRQa2cgd2lsbCBuZWVkIHRvDQo+IHJ1biBvbiBxZW11LXN5c3Rl bS14ODZfNjQgYXQgYSBtaW5pbXVtIHdpdGggYSAzMi1iaXQgUEVJIGFuZCBhIDY0LWJpdA0KPiBE WEUgcGhhc2UuIE1vc3QgcmVhbCBoYXJkd2FyZSBmaXJtd2FyZXMgYWxzbyB1c2UgYSAzMi1iaXQg UEVJIGFuZCBhDQo+IDY0LWJpdCBEWEUuDQo+DQo+IEkgc3VnZ2VzdCB5b3Ugc3RhcnQgd2l0aCB0 aGUgT3ZtZlBrZyBSRUFETUUgLQ0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIv YmxvYi9tYXN0ZXIvT3ZtZlBrZy9SRUFETUUNCj4NCj4gQXMgYW4gaW5pdGlhbCBzdGVwIHlvdSBj YW4gdHJ5IHRvIGJ1aWxkIGFuIE9WTUYgRlcgd2l0aCBhIDMyLWJpdCBQRUkNCj4gKElBMzIpIGFu ZCA2NC1iaXQgRFhFIChYNjQpIGFuZCBib290IHRvIHRoZSBFRkkgc2hlbGwuDQo+IE92bWZQa2cv T3ZtZlBrZ0lhMzJYNjQuZHNjIGNhbiBiZSB1c2VkIHRvIGJ1aWxkIGEgZmlybXdhcmUgZm9yIHRo ZXNlDQo+IHRhcmdldCBhcmNoaXRlY3R1cmVzLg0KPg0KPiBBbnkgdGltZSB5b3Ugc3VibWl0IHBh dGNoZXMgdG8gZWRrMiwgeW91IGNhbiBjaGVjayBlZGsyL21haW50YWluZXJzLnR4dA0KPiAtIGh0 dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9NYWludGFpbmVycy50 eHQgZm9yIHRoZQ0KPiBhcHByb3ByaWF0ZSBtYWludGFpbmVycyBhbmQgcmV2aWV3ZXJzIHRvIEND IG9uIHRoZSBwYXRjaC4gQXMgeW91IGNhbg0KPiBzZWUsIExhc3psbyBhbmQgQXJkIGFyZSB0aGUg bWFpbnRhaW5lcnMgZm9yIE92bWZQa2cgYW5kIEpvcmRhbiBpcyBhDQo+IHJldmlld2VyLiBJZiB0 aGVyZSBhcmUgYW55IHF1ZXN0aW9ucyB0aGF0IHJlcXVpcmUgZGVlcCBleHBlcnRpc2UgaW4gUUVN VQ0KPiBvciBPVk1GLCB3ZSB3aWxsIHJlYWNoIG91dCB0byB0aGVtLiBUaGUgTWluaW11bSBQbGF0 Zm9ybSBjb2RlIGlzDQo+IG1haW50YWluZWQgaW4gdGhlIGVkazItcGxhdGZvcm1zIHJlcG9zaXRv cnkgYW5kIGl0IGhhcyBhIHNpbWlsYXINCj4gbWFpbnRhaW5lcnMudHh0IGZpbGUgZm9yIGl0cyBw YWNrYWdlcyAtDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1wbGF0Zm9ybXMv YmxvYi9tYXN0ZXIvTWFpbnRhaW5lcnMudHh0Lg0KPg0KPiBJIHN1Z2dlc3QgeW91IHRyeSBzZW5k aW5nIGEgdmVyeSB0cml2aWFsIHBhdGNoIGZvciBhIGNoYW5nZSBpbiB0aGUNCj4gZWRrMi1wbGF0 Zm9ybXMgcmVwb3NpdG9yeSAtIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1wbGF0 Zm9ybXMNCj4gdG8gbWFrZSBzdXJlIHRoYXQgeW91ciBnaXQgZW52aXJvbm1lbnQgaXMgc2V0IHVw IHByb3Blcmx5IHRvIGZvcm1hdCBlZGsyDQo+IHBhdGNoZXMgYW5kIHlvdXIgZW1haWwgc2Vydmlj ZSBjYW4gc2VuZCBwYXRjaGVzIGNvcnJlY3RseS4NCj4NCj4gV2UgY2FuIGRpc2N1c3MgdGhlIGRl dGFpbHMgYWJvdXQgaG93IHRvIHNldCB1cCB5b3VyIGVudmlyb25tZW50IGFuZCB3aGF0DQo+IHRv IGNoYW5nZSB3aGVuIHlvdSBhcmUgcmVhZHkuIFlvdSBjYW4gdXNlIHRoaXMgcGFnZSB0byBnZXQg c3RhcnRlZCAtDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvdGlhbm9jb3JlLmdpdGh1 Yi5pby93aWtpL0hvdy1Uby1Db250cmlidXRlLg0KPg0KPiAyLiBFREsgSUkgTWluaW11bSBQbGF0 Zm9ybSBTcGVjaWZpY2F0aW9uIC0NCj4gaHR0cHM6Ly9lZGsyLWRvY3MuZ2l0Ym9vay5pby9lZGst aWktbWluaW11bS1wbGF0Zm9ybS1zcGVjaWZpY2F0aW9uLw0KPg0KPiBGb3IgeW91ciBwcm9qZWN0 LCB0aGlzIHNwZWMgd2lsbCBiZSB2ZXJ5IHVzZWZ1bC4gSXQgZGVzY3JpYmVzIHdoeQ0KPiBNaW5p bXVtIFBsYXRmb3JtIHdhcyBjcmVhdGVkIGFuZCBob3cgaXQgd29ya3MgYXQgYSBoaWdoLWxldmVs LiBMaWtlIHRoZQ0KPiBjb2RlLCB0aGlzIGRvY3VtZW50IGlzIG9wZW4gYW5kIGF2YWlsYWJsZSB0 byB0aGUgY29tbXVuaXR5LiBZb3UgbWlnaHQNCj4gY29udHJpYnV0ZSBjb250ZW50IGhlcmUgaW4g YWRkaXRpb24gdG8geW91ciBjb2RlLiBZb3UgY2FuIGZpeCBhbnkgYnVncw0KPiBvciB1cGRhdGUg Y29udGVudCBpbiB0aGUgc3BlYyB1c2luZyBnaXQgcGF0Y2hlcyBhbmQgdGhlIG1haWxpbmcgbGlz dA0KPiBzaW1pbGFyIHRvIGNvZGUuDQo+DQo+IDMuIEludGVsIEZTUCAtDQo+IGh0dHBzOi8vd3d3 LmludGVsLmNvbS9jb250ZW50L3d3dy91cy9lbi9pbnRlbGxpZ2VudC1zeXN0ZW1zL2ludGVsLWZp cm13YXJlLXN1cHBvcnQtcGFja2FnZS9pbnRlbC1mc3Atb3ZlcnZpZXcuaHRtbA0KPg0KPg0KPiBG b3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBJbnRlbCBGU1AgY2hlY2sgb3V0IHRoZSBJbnRlbCBG U1AgRXh0ZXJuYWwNCj4gQXJjaGl0ZWN0dXJlIFNwZWNpZmljYXRpb24gaW4gdGhlIGxpbmsgYWJv dmUuIHYyLjIgaXMgY3VycmVudGx5IHRoZQ0KPiBsYXRlc3QgdmVyc2lvbi4NCj4NCj4gVGhlcmUg aXMgYW4gb3BlbiBzb3VyY2UgUUVNVSBGU1AgYXZhaWxhYmxlIGhlcmUNCj4gaHR0cHM6Ly9naXRo dWIuY29tL3VuaXZlcnNhbHBheWxvYWQvZnNwc2RrL3RyZWUvcWVtdV9mc3BfeDY0LiBZb3Ugd2ls bA0KPiBmaW5kIHRoZSBleGlzdGluZyBNaW5pbXVtIFBsYXRmb3JtIGJvYXJkcyB1c2UgSW50ZWwg RlNQIHdoaWxlIE92bWZQa2cNCj4gZG9lcyBub3QgdXNlIEZTUC4NCj4NCj4gRmlybXdhcmUgaXMg cmVhbGx5IGJlc3QgbGVhcm5lZCBoYW5kcyBvbi4gVXNpbmcgdGhlIGxpbmtzIGFuZCBiYWNrZ3Jv dW5kDQo+IGluZm8gYWJvdmUsIEkgc3VnZ2VzdDoNCj4NCj4gMS4gUmVhZCB0aGUgT3ZtZlBrZyBy ZWFkbWUuDQo+IDIuIEJ1aWxkIGEgMzItYml0IFBFSSBhbmQgNjQtYml0IERYRSBPVk1GIEZXIGFu ZCBib290IGl0IHRvIEVGSSBzaGVsbA0KPiB1c2luZyBRRU1VLg0KPiAzLiBSZWFkaW5nIHRocm91 Z2ggdGhlIEVESyBJSSBNaW5pbXVtIFBsYXRmb3JtIFNwZWNpZmljYXRpb24gdG8gZ2FpbiBhDQo+ IGhpZ2ggbGV2ZWwgdW5kZXJzdGFuZGluZyBvZiBNaW5pbXVtIFBsYXRmb3JtLg0KPiA0LiBDb25u ZWN0IHdoYXQgeW91IHJlYWQgdG8gdGhlIGNvZGUgaW4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3Rp YW5vY29yZS9lZGsyLXBsYXRmb3Jtcy90cmVlL21hc3Rlci9QbGF0Zm9ybS9JbnRlbC4NCj4gRm9j dXMgb24gaGlnaGVyIGxldmVsIHBpZWNlcyBsaWtlIHRoZSBib2FyZCBpbml0aWFsaXphdGlvbiBs aWJyYXJ5Lg0KPiA1LiBOb3RlIHdoYXQgZWFjaCBib2FyZCBwYWNrYWdlIGlzIGRvaW5nLiBZb3Ug d2lsbCBmaW5kIGNvbW1vbiBwYXR0ZXJucw0KPiBmb3Igd2hhdCBhIGJvYXJkIHBhY2thZ2UgbmVl ZHMgdG8gaW1wbGVtZW50IHRvIG1ha2UgdGhlIHN5c3RlbSBib290Lg0KPiA2LiBBcyB5b3UgcmVh ZCB0aHJvdWdoIHRoZSBjb2RlLCByZWZlcmVuY2UgdGhlIGdlbmVyYWwgcmVzb3VyY2VzIGxpc3Rl ZA0KPiBhYm92ZSB0byB1bmRlcnN0YW5kIGFueXRoaW5nIG5vdCBNaW5pbXVtIFBsYXRmb3JtIHNw ZWNpZmljLiBQYXJ0IG9mIHRoZQ0KPiBsZWFybmluZyBwcm9jZXNzIGlzIGtub3dpbmcgd2hpY2gg c3BlYyB0byB1c2UgZm9yIGRpZmZlcmVudCBpbnRlcmZhY2VzLg0KPiBJZiB5b3UncmUgdW5zdXJl IHdoaWNoIHNwZWMgc29tZXRoaW5nIGlzIGluLCBmZWVsIGZyZWUgdG8gcmVhY2ggb3V0Lg0KPiA3 LiBXaGlsZSBsb29raW5nIHRocm91Z2ggdGhlIGNvZGUgaW4gZWRrMi1wbGF0Zm9ybXMsIHRoaW5r IGFib3V0IGEgcGF0Y2gNCj4geW91IGNhbiBzZW5kIHRvIGVkazItcGxhdGZvcm1zIGZvciBzb21l dGhpbmcgdmVyeSB0cml2aWFsIHN1Y2ggYXMgYSBidWcNCj4gZml4IG9yIGRvY3VtZW50YXRpb24g dXBkYXRlLg0KPiA4LiBTZW5kIHRoZSBwYXRjaCBhbmQgZ2V0IGl0IHJldmlld2VkLWJ5IHRoZSBh cHByb3ByaWF0ZQ0KPiBtYWludGFpbmVycy9yZXZpZXdlcnMgYW5kIG1lcmdlZCBpbnRvIHRoZSBt YXN0ZXIgYnJhbmNoLg0KPiA5LiBSZWFkIHRocm91Z2ggdGhlIGNvZGUgaW4gT3ZtZlBrZy4gVHJ5 IHRvIG1hcCB0aGUgd29yayBpdCBpcyBkb2luZyB0bw0KPiB0aGUgYm9hcmQgY29kZSB5b3UgcmV2 aWV3ZWQgaW4gZWRrMi1wbGF0Zm9ybXMuDQo+IDEwLiBBdCB0aGlzIHBvaW50LCB5b3UgY291bGQg c3RhcnQgb3V0bGluaW5nIG1ham9yIHBpZWNlcyBvZg0KPiBpbml0aWFsaXphdGlvbiBpbiBPVk1G IGFuZCBob3cgdGhleSBtaWdodCBtYXAgdG8gYSBib2FyZCBwYWNrYWdlLiBUcnkgdG8NCj4gaWRl bnRpZnkgd2hlcmUgdGhlIGluaXRpYWxpemF0aW9uIHBpZWNlcyB3b3VsZCByZXNpZGUgaW4gdGhl IGJvYXJkDQo+IHBhY2thZ2UgYW5kIHRyeSB0byBpZGVudGlmeSBjaGFsbGVuZ2VzIHRoYXQgbWln aHQgYXJpc2UuIFdlIHdpbGwgbGlrZWx5DQo+IHNwZW5kIHF1aXRlIGEgYml0IG9mIHRpbWUgaGVy ZSBiZWZvcmUganVtcGluZyBpbnRvIHRvbyBtdWNoIGNvZGUuDQo+DQo+IEkga25vdyB0aGlzIGlz IGEgbG90IG9mIGluZm8uIFBsZWFzZSBkb24ndCBoZXNpdGF0ZSB0byByZWFjaCBvdXQgaWYgeW91 DQo+IGhhdmUgYW55IHF1ZXN0aW9ucyBhbmQgSSBsb29rIGZvcndhcmQgdG8gd29ya2luZyB3aXRo IHlvdS4NCj4NCj4gUmVnYXJkcywNCj4gTWljaGFlbA0KPg0KPiBPbiA1LzE4LzIwMjEgNjowNSBQ TSwgZ2FvbGltaW5nIHdyb3RlOg0KPj4gSW5jbHVkZSBNaWNoYWVsIEt1YmFja2kuDQo+Pg0KPj4g VGhhbmtzDQo+PiBMaW1pbmcNCj4+PiAtLS0tLdPKvP7Urbz+LS0tLS0NCj4+PiC3orz+yMs6IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gtPqx7SBLQUFJUkENCj4+ PiBHVVBUQQ0KPj4+ILeiy83KsbzkOiAyMDIxxOo11MIxOMjVIDIyOjQyDQo+Pj4gytW8/sjLOiBS YXkgTmkgPHJheS5uaUBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPj4+INb3zOI6 IFJlOiBbZWRrMi1kZXZlbF0gR1NvQyAyMDIxIFFlbXUgT3BlbkJvYXJkUGtnIFByb2plY3QNCj4+ Pg0KPj4+IE9uIFR1ZSwgTWF5IDE4LCAyMDIxIGF0IDA4OjAxOjU3UE0gKzA1MzAsIEthYWlyYSBH dXB0YSB3cm90ZToNCj4+Pj4gSGV5IGV2ZXJ5b25lLA0KPj4+Pg0KPj4+PiBJIGhhdmUgYmVlbiBz ZWxlY3RlZCBhcyBhIHN0dWRlbnQgZGV2ZWxvcGVyIGZvciB0aGUgcHJvamVjdCBNaW5QbGF0Zm9y bQ0KPj4+PiBRZW11IE9wZW5Cb2FyZFBrZyB1bmRlciB0aGUgbWVudG9ycyBSYXkgTmkgYW5kIE1p Y2hhZWwgS3ViYWNraS4NCj4+PiBUaGFua3lvdQ0KPj4+PiBmb3IgdGhpcyBvcHBvcnR1bml0eS4g SSBoYXZlIGJlZW4gb3ZlciB0aGUgbWFqb3IgY2hhcHRlcnMgb2YgQmV5b25kDQo+Pj4+IEJJT1MN Cj4+Pj4gYXMgcmVjb21tZW5kZWQgYnkgTmF0ZSBEZVNpbW9uZS4gSSB3YW50IHRvIGdldCBmYW1p bGlhciB3aXRoIHRoZSBjb2RlDQo+Pj4+IG5vdyB0byBoZWxwIG1lIHVuZGVyc2F0bmQgdGhlIGNv bW11bml0eSBwcmFjdGljZXMgYW5kIGdldCBteSBoYW5kcw0KPj4+PiBkaXJ0eS4gV2hlcmUgc2hv dWxkIEkgc3RhcnQ/IFdoYXQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgZG8gSSBuZWVkPw0KPj4+ PiBIb3cgY2FuIEkgdXNlIHRoaXMgY29tbXVuaXR5IGJvbmRpbmcgcGVyaW9kIHRvIGdpdmUgbWUg YSBiZXR0ZXIgc3RhcnQNCj4+Pj4gZm9yIHRoZSBjb2RpbmcgcGhhc2U/DQo+Pj4+DQo+Pj4+IEhv dyBkbyB0aGUgbWVudG9ycyB3YW50IG1lIHRvIGNvbm5lY3Qgd2l0aCB0aGVtPyBDYW4gd2UgaGF2 ZSBhIG1lZXQNCj4+PiB0bw0KPj4+PiBkaXNjdXNzIHRoaXMgcHJvamVjdCdzIHBsYW4gdG8gYWRk IG1vcmUgZGV0YWlscz8gVGhpcyB3b3VsZCBiZSB2ZXJ5DQo+Pj4+IGhlbHBmdWwgZm9yIG1lIGNv bnNpZGVyaW5nIEkgZG9uJ3QgaGF2ZSBwcmlvciBleHBlcmllbmNlIHdpdGggRURLMi4NCj4+Pg0K Pj4+IEkgbm90aWNlZCB0aGF0IHRoZSBtYWlsLWlkIHRoYXQgSSBoYXZlIHVzZWQgb2YgTWljaGFl bCBLdWJhY2tpIGRvZXNuJ3QNCj4+PiBleGlzdCBhbnltb3JlLiBQbGVhc2UgbGV0IG1lIGtub3cg aG93IEkgY2FuIGNvbnRhY3QgaGltLg0KPj4+DQo+Pj4+DQo+Pj4+IFRoYW5rIHlvdSwNCj4+Pj4g S2FhaXJhDQo+Pj4NCj4+PiBUaGFua3MsDQo+Pj4gS2FhaXJhDQo+Pj4NCj4+Pg0KPj4+DQo+Pj4N Cj4+DQo+Pg0KPj4NCj4+DQo+Pg0KPj4NCj4+DQoNCg0KDQoNCg0K --_000_DF4PR8401MB044467A8A6187CD77A45CAE5E02A9DF4PR8401MB0444_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
Hi,

that sounds like a great project!

I'm currently trying to create an equivalent of OvmfPkg for the RISCV64 ge= neric QEMU virt machine.
I don't like how much of my DSC and FDF file has modules that pretty much = all platforms should have.
MinPlatform would help reduce that, right?
Is MinPlatform flexible enough to account for non-X64 platforms?

If so, then I think Kaaira and I could collaborate.

Cheers,
Daniel

From: devel@edk2.groups.io= <devel@edk2.groups.io> on behalf of Michael Kubacki <mikuback@lin= ux.microsoft.com>
Sent: Thursday, May 20, 2021 02:57
To: devel@edk2.groups.io <devel@edk2.groups.io>; gaoliming@by= osoft.com.cn <gaoliming@byosoft.com.cn>; kaaira7319@gmail.com <kaa= ira7319@gmail.com>; 'Ray Ni' <ray.ni@intel.com>
Subject: Re: =BB=D8=B8=B4: [edk2-devel] GSoC 2021 Qemu OpenBoardPkg= Project
 
I also wanted to add that I will be setting up we= ekly video calls
including Ray that we can use to supplement mailing list communication.
I suggest the primary communication mechanism be the mailing list and we <= br> use those calls for clarification, detailed project planning, and topics <= br> not directly relevant to the list.

Regards,
Michael

On 5/19/2021 10:29 AM, Michael Kubacki wrote:
> Thanks Liming.
>
> Hi Kaaira,
>
> Welcome! You can contact me at mikuback@linux.microsoft.com. You will=
> sometimes see my email as michael.kubacki@microsoft.com and that is f= ine
> to use for communication though I tend to not use it on the mailing l= ist
> due to way the mail server manipulates plaintext email.
>
> GENERIC RESOURCES
>
> I'm sharing some general resources in case you are not already famili= ar
> with them:
>
> 1. https://github.com/tianocore-training/Tianocore_Training_C= ontents/wiki
>
> This one is good for topics like UEFI overview, EDK II concepts, and =
> Minimum Platform.
>
> In particular for your project, I recommend looking through the
> MinPlatform training -
> = https://github.com/tianocore-training/Presentation_FW/blob/master/FW/Presen= tations/_D_05_EDK_II_Open_Source_MinPlatform_pres_gp.pdf
>
>
> 2.
> https://software.intel.com/= content/www/us/en/develop/articles/unified-extensible-firmware-interface.ht= ml
>
>
> These whitepapers are useful when you need more in depth detail about= a
> particular area (like capsule update or work related to the memory ma= p).
> I recommend bookmarking it and keeping it in mind as a reference.
>
> 3. https://uefi.org/learning_center/presentationsandvideos/
>
> Scroll through here if you have some time and see if there's anything=
> interesting. To help keep on your project schedule I don't think thes= e
> are as important but there is a lot of interesting material there. >
> Reading through some of the key concepts in Beyond BIOS can be helpfu= l
> and like the UEFI, ACPI, and PI (Platform Initialization) specs at > https://uefi.org/specific= ations, I believe they are most useful as
> references when you are solving specific problems.
>
> PROJECT-SPECIFIC RESOURCES
>
> Since your project involves creating QEMU board within the Minimum > Platform architecture, you can start looking into:
>
> 1. QEMU - An open source machine emulator
> 2. Minimum Platform Architecture - A software architecture to create =
> basic platform firmware that can be extended with advanced functional= ity.
> 3. Intel FSP - Try to understand the high-level goals and how FSP > interfaces with firmware.
>
> 1. QEMU - https://www.qemu.org/
>
> Please set up the QEMU environment. Your QemuOpenBoardPkg will need t= o
> run on qemu-system-x86_64 at a minimum with a 32-bit PEI and a 64-bit=
> DXE phase. Most real hardware firmwares also use a 32-bit PEI and a <= br> > 64-bit DXE.
>
> I suggest you start with the OvmfPkg README -
> https://github.com/tianocore/edk2/blob/master/OvmfPkg/README
>
> As an initial step you can try to build an OVMF FW with a 32-bit PEI =
> (IA32) and 64-bit DXE (X64) and boot to the EFI shell.
> OvmfPkg/OvmfPkgIa32X64.dsc can be used to build a firmware for these =
> target architectures.
>
> Any time you submit patches to edk2, you can check edk2/maintainers.t= xt
> - https://github.com/tianocore/edk2/blob/master/Maintainers.txt fo= r the
> appropriate maintainers and reviewers to CC on the patch. As you can =
> see, Laszlo and Ard are the maintainers for OvmfPkg and Jordan is a <= br> > reviewer. If there are any questions that require deep expertise in Q= EMU
> or OVMF, we will reach out to them. The Minimum Platform code is
> maintained in the edk2-platforms repository and it has a similar
> maintainers.txt file for its packages -
> https://github.com/tianocore/edk2-platforms/blob/master/Main= tainers.txt.
>
> I suggest you try sending a very trivial patch for a change in the > edk2-platforms repository - https://github.com/tianocore/edk2-platforms
> to make sure that your git environment is set up properly to format e= dk2
> patches and your email service can send patches correctly.
>
> We can discuss the details about how to set up your environment and w= hat
> to change when you are ready. You can use this page to get started - =
> https://github.com/tianocore/tianocore.github.io/wiki/How-To= -Contribute.
>
> 2. EDK II Minimum Platform Specification -
> https://edk2-docs.gitbook.io/edk-ii-minimum-platform-specificati= on/
>
> For your project, this spec will be very useful. It describes why > Minimum Platform was created and how it works at a high-level. Like t= he
> code, this document is open and available to the community. You might=
> contribute content here in addition to your code. You can fix any bug= s
> or update content in the spec using git patches and the mailing list =
> similar to code.
>
> 3. Intel FSP -
> https://www.intel= .com/content/www/us/en/intelligent-systems/intel-firmware-support-package/i= ntel-fsp-overview.html
>
>
> For more information about Intel FSP check out the Intel FSP External=
> Architecture Specification in the link above. v2.2 is currently the <= br> > latest version.
>
> There is an open source QEMU FSP available here
> https://github.com/universalpayload/fspsdk/tree/qemu_fsp_x64. You w= ill
> find the existing Minimum Platform boards use Intel FSP while OvmfPkg=
> does not use FSP.
>
> Firmware is really best learned hands on. Using the links and backgro= und
> info above, I suggest:
>
> 1. Read the OvmfPkg readme.
> 2. Build a 32-bit PEI and 64-bit DXE OVMF FW and boot it to EFI shell=
> using QEMU.
> 3. Reading through the EDK II Minimum Platform Specification to gain = a
> high level understanding of Minimum Platform.
> 4. Connect what you read to the code in
> https://github.com/tianocore/edk2-platforms/tree/master/Platf= orm/Intel.
> Focus on higher level pieces like the board initialization library. > 5. Note what each board package is doing. You will find common patter= ns
> for what a board package needs to implement to make the system boot.<= br> > 6. As you read through the code, reference the general resources list= ed
> above to understand anything not Minimum Platform specific. Part of t= he
> learning process is knowing which spec to use for different interface= s.
> If you're unsure which spec something is in, feel free to reach out.<= br> > 7. While looking through the code in edk2-platforms, think about a pa= tch
> you can send to edk2-platforms for something very trivial such as a b= ug
> fix or documentation update.
> 8. Send the patch and get it reviewed-by the appropriate
> maintainers/reviewers and merged into the master branch.
> 9. Read through the code in OvmfPkg. Try to map the work it is doing = to
> the board code you reviewed in edk2-platforms.
> 10. At this point, you could start outlining major pieces of
> initialization in OVMF and how they might map to a board package. Try= to
> identify where the initialization pieces would reside in the board > package and try to identify challenges that might arise. We will like= ly
> spend quite a bit of time here before jumping into too much code.
>
> I know this is a lot of info. Please don't hesitate to reach out if y= ou
> have any questions and I look forward to working with you.
>
> Regards,
> Michael
>
> On 5/18/2021 6:05 PM, gaoliming wrote:
>> Include Michael Kubacki.
>>
>> Thanks
>> Liming
>>> -----=D3=CA=BC=FE=D4=AD=BC=FE-----
>>> =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io <devel@edk2.group= s.io> =B4=FA=B1=ED KAAIRA
>>> GUPTA
>>> =B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA5=D4=C218=C8=D5 22:42
>>> =CA=D5=BC=FE=C8=CB: Ray Ni <ray.ni@intel.com>; devel@ed= k2.groups.io
>>> =D6=F7=CC=E2: Re: [edk2-devel] GSoC 2021 Qemu OpenBoardPkg Pr= oject
>>>
>>> On Tue, May 18, 2021 at 08:01:57PM +0530, Kaaira Gupta wrote:=
>>>> Hey everyone,
>>>>
>>>> I have been selected as a student developer for the proje= ct MinPlatform
>>>> Qemu OpenBoardPkg under the mentors Ray Ni and Michael Ku= backi.
>>> Thankyou
>>>> for this opportunity. I have been over the major chapters= of Beyond
>>>> BIOS
>>>> as recommended by Nate DeSimone. I want to get familiar w= ith the code
>>>> now to help me undersatnd the community practices and get= my hands
>>>> dirty. Where should I start? What development environment= do I need?
>>>> How can I use this community bonding period to give me a = better start
>>>> for the coding phase?
>>>>
>>>> How do the mentors want me to connect with them? Can we h= ave a meet
>>> to
>>>> discuss this project's plan to add more details? This wou= ld be very
>>>> helpful for me considering I don't have prior experience = with EDK2.
>>>
>>> I noticed that the mail-id that I have used of Michael Kuback= i doesn't
>>> exist anymore. Please let me know how I can contact him.
>>>
>>>>
>>>> Thank you,
>>>> Kaaira
>>>
>>> Thanks,
>>> Kaaira
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>>





--_000_DF4PR8401MB044467A8A6187CD77A45CAE5E02A9DF4PR8401MB0444_--