From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 04ACE21DF37A1 for ; Mon, 7 Aug 2017 07:16:41 -0700 (PDT) Received: from pure.maildistiller.com (unknown [10.110.50.29]) by dispatch1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTP id 81B1060061 for ; Mon, 7 Aug 2017 14:18:56 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx6-us1.ppe-hosted.com (unknown [10.110.49.251]) by pure.maildistiller.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 90DF960052 for ; Mon, 7 Aug 2017 14:18:55 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx6-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id 5841A4C006F for ; Mon, 7 Aug 2017 14:18:55 +0000 (UTC) Received: from tp-desktop.uk.solarflarecom.com (10.17.20.51) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Mon, 7 Aug 2017 15:18:50 +0100 To: "edk2-devel@lists.01.org" From: "Tomas Pilar (tpilar)" Message-ID: Date: Mon, 7 Aug 2017 15:18:46 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 X-Originating-IP: [10.17.20.51] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.100.1062-23242.003 X-TM-AS-Result: No--8.482000-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-MDID: 1502115536-JMryAYRnsdMo Subject: Multiple Device ID support in EfiRom X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Aug 2017 14:16:41 -0000 X-Groupsio-MsgNum: 13032 Content-Type: multipart/mixed; boundary="------------CF4E290CCFF8F24F5E62303D" Content-Language: en-US --------------CF4E290CCFF8F24F5E62303D Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Hi, I am looking at this patch (attached) from Daniel: -- Hello, Attached is a patch to implement writing and dumping of PCI 3.0 Device ID lists in EFI option ROMs in the EfiRom tool. Using this modification, multiple space-delimited device IDs can be specified after -i. The first device in the list is used for the main PCI ROM header Device ID field and is also written in the list. The list is only written when more than one device ID has been specified; when only one device ID is given on the command line, the EfiRom output should be identical to the current code. Let me know if there's anything I missed. Thanks, -- Daniel Verkamp -- Was this patch ever considered for inclusion in the edk2 trunk? If not, what is the current state of multiple device id support for rom creation? Cheers, Tom --------------CF4E290CCFF8F24F5E62303D Content-Type: text/x-patch; name="EfiRom_device_list.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="EfiRom_device_list.patch" SW5kZXg6IEVmaVJvbS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEVmaVJvbS5jCShyZXZpc2lvbiAyMTI5KQor KysgRWZpUm9tLmMJKHdvcmtpbmcgY29weSkKQEAgLTE1MCw3ICsxNTAsNyBAQAogICAgICAgICBW ZXJib3NlTXNnKCJQcm9jZXNzaW5nIEVGSSBmaWxlICAgICVzXG4iLCBGTGlzdC0+RmlsZU5hbWUp Ow0KICAgICAgIH0NCiANCi0gICAgICBTdGF0dXMgPSBQcm9jZXNzRWZpRmlsZSAoRnB0ck91dCwg Rkxpc3QsIG1PcHRpb25zLlZlbmRJZCwgbU9wdGlvbnMuRGV2SWQsICZTaXplKTsNCisgICAgICBT dGF0dXMgPSBQcm9jZXNzRWZpRmlsZSAoRnB0ck91dCwgRkxpc3QsIG1PcHRpb25zLlZlbmRJZCwg bU9wdGlvbnMuRGV2SWRMaXN0WzBdLCAmU2l6ZSk7DQogICAgIH0gZWxzZSBpZiAoKEZMaXN0LT5G aWxlRmxhZ3MgJiBGSUxFX0ZMQUdfQklOQVJZKSAhPTAgKSB7DQogICAgICAgaWYgKG1PcHRpb25z LlZlcmJvc2UpIHsNCiAgICAgICAgIFZlcmJvc2VNc2coIlByb2Nlc3NpbmcgYmluYXJ5IGZpbGUg JXNcbiIsIEZMaXN0LT5GaWxlTmFtZSk7DQpAQCAtMTkzLDYgKzE5MywxMyBAQAogICAgICAgZnJl ZSAobU9wdGlvbnMuRmlsZUxpc3QpOw0KICAgICAgIG1PcHRpb25zLkZpbGVMaXN0ID0gRkxpc3Q7 DQogICAgIH0NCisgICAgDQorICAgIC8vDQorICAgIC8vIENsZWFuIHVwIGRldmljZSBJRCBsaXN0 DQorICAgIC8vDQorICAgIGlmIChtT3B0aW9ucy5EZXZJZExpc3QgIT0gTlVMTCkgew0KKyAgICAg IGZyZWUgKG1PcHRpb25zLkRldklkTGlzdCk7DQorICAgIH0NCiAgIH0NCiANCiAgIGlmIChtT3B0 aW9ucy5WZXJib3NlKSB7DQpAQCAtNDQ5LDYgKzQ1Niw3IEBACiAgIFVJTlQxNiAgICAgICAgICAg ICAgICAgICAgICAgIE1hY2hpbmVUeXBlOw0KICAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAg ICAgU3ViU3lzdGVtOw0KICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgSGVhZGVyUGFk Qnl0ZXM7DQorICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBEZXZJZExpc3RTaXplOw0K IA0KICAgLy8NCiAgIC8vIFRyeSB0byBvcGVuIHRoZSBpbnB1dCBmaWxlDQpAQCAtNDkyLDcgKzUw MCwxNiBAQAogICBpZiAobU9wdGlvbnMuUGNpMjMgPT0gMSkgew0KICAgICBIZWFkZXJTaXplID0g c2l6ZW9mIChQQ0lfREFUQV9TVFJVQ1RVUkUpICsgSGVhZGVyUGFkQnl0ZXMgKyBzaXplb2YgKEVG SV9QQ0lfRVhQQU5TSU9OX1JPTV9IRUFERVIpOw0KICAgfSBlbHNlIHsNCi0gICAgSGVhZGVyU2l6 ZSA9IHNpemVvZiAoUENJXzNfMF9EQVRBX1NUUlVDVFVSRSkgKyBIZWFkZXJQYWRCeXRlcyArIHNp emVvZiAoRUZJX1BDSV9FWFBBTlNJT05fUk9NX0hFQURFUik7DQorICAgIGlmIChtT3B0aW9ucy5E ZXZJZENvdW50ID4gMSkgew0KKyAgICAgIC8vDQorICAgICAgLy8gV3JpdGUgZGV2aWNlIElEIGxp c3Qgd2hlbiBtb3JlIHRoYW4gb25lIGRldmljZSBJRCBpcyBzcGVjaWZpZWQuDQorICAgICAgLy8g TGVhdmUgc3BhY2UgZm9yIGxpc3QgcGx1cyB0ZXJtaW5hdG9yLg0KKyAgICAgIC8vDQorICAgICAg RGV2SWRMaXN0U2l6ZSA9IChtT3B0aW9ucy5EZXZJZENvdW50ICsgMSkgKiBzaXplb2YgKFVJTlQx Nik7DQorICAgIH0gZWxzZSB7DQorICAgICAgRGV2SWRMaXN0U2l6ZSA9IDA7DQorICAgIH0NCisg ICAgSGVhZGVyU2l6ZSA9IHNpemVvZiAoUENJXzNfMF9EQVRBX1NUUlVDVFVSRSkgKyBIZWFkZXJQ YWRCeXRlcyArIERldklkTGlzdFNpemUgKyBzaXplb2YgKEVGSV9QQ0lfRVhQQU5TSU9OX1JPTV9I RUFERVIpOw0KICAgfQ0KIA0KICAgaWYgKG1PcHRpb25zLlZlcmJvc2UpIHsNCkBAIC02MTcsNyAr NjM0LDE0IEBACiAgICAgUGNpRHMzMC5TaWduYXR1cmUgPSBQQ0lfREFUQV9TVFJVQ1RVUkVfU0lH TkFUVVJFOw0KICAgICBQY2lEczMwLlZlbmRvcklkICA9IFZlbmRJZDsNCiAgICAgUGNpRHMzMC5E ZXZpY2VJZCAgPSBEZXZJZDsNCi0gICAgUGNpRHMzMC5EZXZpY2VMaXN0T2Zmc2V0ID0gMDsgLy8g dG8gYmUgZml4ZWQNCisgICAgaWYgKG1PcHRpb25zLkRldklkQ291bnQgPiAxKSB7DQorICAgICAg Ly8NCisgICAgICAvLyBQbGFjZSBkZXZpY2UgbGlzdCBpbW1lZGlhdGVseSBhZnRlciBQQ0kgc3Ry dWN0dXJlDQorICAgICAgLy8NCisgICAgICBQY2lEczMwLkRldmljZUxpc3RPZmZzZXQgPSAoVUlO VDE2KSBzaXplb2YgKFBDSV8zXzBfREFUQV9TVFJVQ1RVUkUpOw0KKyAgICB9IGVsc2Ugew0KKyAg ICAgIFBjaURzMzAuRGV2aWNlTGlzdE9mZnNldCA9IDA7DQorICAgIH0NCiAgICAgUGNpRHMzMC5M ZW5ndGggICAgPSAoVUlOVDE2KSBzaXplb2YgKFBDSV8zXzBfREFUQV9TVFJVQ1RVUkUpOw0KICAg ICBQY2lEczMwLlJldmlzaW9uICA9IDB4MzsNCiAgICAgLy8NCkBAIC02ODYsNyArNzEwLDI3IEBA CiAgICAgICBnb3RvIEJhaWxPdXQ7DQogICAgIH0gDQogICB9DQorDQorICAvLyANCisgIC8vIFdy aXRlIHRoZSBEZXZpY2UgSUQgbGlzdCB0byB0aGUgb3V0cHV0IGZpbGUNCiAgIC8vDQorICBpZiAo bU9wdGlvbnMuRGV2SWRDb3VudCA+IDEpIHsNCisgICAgaWYgKGZ3cml0ZSAobU9wdGlvbnMuRGV2 SWRMaXN0LCBzaXplb2YgKFVJTlQxNiksIG1PcHRpb25zLkRldklkQ291bnQsIE91dEZwdHIpICE9 IG1PcHRpb25zLkRldklkQ291bnQpIHsNCisgICAgICBFcnJvciAoTlVMTCwgMCwgMDAwMiwgIkZh aWxlZCB0byB3cml0ZSBQQ0kgZGV2aWNlIGxpc3QgdG8gb3V0cHV0IGZpbGUhIiwgTlVMTCk7DQor ICAgICAgU3RhdHVzID0gU1RBVFVTX0VSUk9SOw0KKyAgICAgIGdvdG8gQmFpbE91dDsNCisgICAg fQ0KKyAgICAvLw0KKyAgICAvLyBXcml0ZSB0d28tYnl0ZSB0ZXJtaW5hdGluZyAwIGF0IHRoZSBl bmQgb2YgdGhlIGRldmljZSBsaXN0DQorICAgIC8vDQorICAgIGlmIChwdXRjICgwLCBPdXRGcHRy KSA9PSBFT0YgfHwgcHV0YyAoMCwgT3V0RnB0cikgPT0gRU9GKSB7DQorICAgICAgRXJyb3IgKE5V TEwsIDAsIDAwMDIsICJGYWlsZWQgdG8gd3JpdGUgUENJIGRldmljZSBsaXN0IHRvIG91dHB1dCBm aWxlISIsIE5VTEwpOw0KKyAgICAgIFN0YXR1cyA9IFNUQVRVU19FUlJPUjsNCisgICAgICBnb3Rv IEJhaWxPdXQ7DQorICAgIH0NCisgIH0NCisNCisgIC8vDQogICAvLyBLZWVwIHRyYWNrIG9mIGhv dyBtYW55IGJ5dGVzIGxlZnQgdG8gd3JpdGUNCiAgIC8vDQogICBUb3RhbFNpemUgLT0gSGVhZGVy U2l6ZTsNCkBAIC04NjYsNiArOTEwLDggQEAKICAgRUZJX1NUQVRVUyBTdGF0dXM7DQogICBCT09M RUFOICAgIEVmaVJvbUZsYWc7DQogICBVSU5UNjQgICAgIFRlbXBWYWx1ZTsNCisgIGNoYXIgICAg ICAgKk9wdGlvbk5hbWU7DQorICBVSU5UMTYgICAgICpEZXZJZExpc3Q7DQogDQogICBGaWxlRmxh Z3MgPSAwOw0KICAgRWZpUm9tRmxhZyA9IEZBTFNFOw0KQEAgLTg4MCw2ICs5MjYsOSBAQAogICAv Lw0KICAgRmlsZUxpc3QgICAgICAgICAgICAgICAgPSBQcmV2RmlsZUxpc3QgPSBOVUxMOw0KIA0K KyAgT3B0aW9ucy0+RGV2SWRMaXN0ICAgICAgPSBOVUxMOw0KKyAgT3B0aW9ucy0+RGV2SWRDb3Vu dCAgICAgPSAwOw0KKw0KICAgQ2xhc3NDb2RlICAgICAgICAgICAgICAgPSAwOw0KICAgQ29kZVJl dmlzaW9uICAgICAgICAgICAgPSAwOw0KICAgLy8NCkBAIC05MzMsMjQgKzk4Miw0OSBAQAogICAg ICAgICBBcmd2Kys7DQogICAgICAgICBBcmdjLS07DQogICAgICAgfSBlbHNlIGlmIChzdHJpY21w IChBcmd2WzBdLCAiLWkiKSA9PSAwKSB7DQorDQorICAgICAgICBPcHRpb25OYW1lID0gQXJndlsw XTsNCisNCiAgICAgICAgIC8vDQotICAgICAgICAvLyBEZXZpY2UgSUQgc3BlY2lmaWVkIHdpdGgg LWkNCi0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGVyZSdzIGFub3RoZXIgcGFyYW1ldGVyDQorICAg ICAgICAvLyBEZXZpY2UgSURzIHNwZWNpZmllZCB3aXRoIC1pDQorICAgICAgICAvLyBNYWtlIHN1 cmUgdGhlcmUncyBhdCBsZWFzdCBvbmUgbW9yZSBwYXJhbWV0ZXINCiAgICAgICAgIC8vDQotICAg ICAgICBTdGF0dXMgPSBBc2NpaVN0cmluZ1RvVWludDY0KEFyZ3ZbMV0sIEZBTFNFLCAmVGVtcFZh bHVlKTsNCi0gICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgICAgICAgRXJy b3IgKE5VTEwsIDAsIDIwMDAsICJJbnZhbGlkIG9wdGlvbiB2YWx1ZSIsICIlcyA9ICVzIiwgQXJn dlswXSwgQXJndlsxXSk7DQorICAgICAgICBpZiAoQXJnYyA8IDEpIHsNCisgICAgICAgICAgRXJy b3IgKE5VTEwsIDAsIDIwMDAsICJJbnZhbGlkIHBhcmFtZXRlciIsICJNaXNzaW5nIERldmljZSBJ ZCB3aXRoICVzIG9wdGlvbiEiLCBPcHRpb25OYW1lKTsNCiAgICAgICAgICAgcmV0dXJuIDE7DQog ICAgICAgICB9DQotICAgICAgICBpZiAoVGVtcFZhbHVlID49IDB4MTAwMDApIHsNCi0gICAgICAg ICAgRXJyb3IgKE5VTEwsIDAsIDIwMDAsICJJbnZhbGlkIG9wdGlvbiB2YWx1ZSIsICJEZXZpY2Ug SWQgJXMgb3V0IG9mIHJhbmdlISIsIEFyZ3ZbMV0pOw0KLSAgICAgICAgICByZXR1cm4gMTsNCisN CisgICAgICAgIC8vDQorICAgICAgICAvLyBQcm9jZXNzIHVudGlsIGFub3RoZXIgZGFzaC1hcmd1 bWVudCBwYXJhbWV0ZXIgb3IgdGhlIGVuZCBvZiB0aGUgbGlzdA0KKyAgICAgICAgLy8NCisgICAg ICAgIHdoaWxlIChBcmdjID4gMSAmJiBBcmd2WzFdWzBdICE9ICctJykgew0KKyAgICAgICAgICBT dGF0dXMgPSBBc2NpaVN0cmluZ1RvVWludDY0KEFyZ3ZbMV0sIEZBTFNFLCAmVGVtcFZhbHVlKTsN CisgICAgICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAgICAgICAgIEVycm9y IChOVUxMLCAwLCAyMDAwLCAiSW52YWxpZCBvcHRpb24gdmFsdWUiLCAiJXMgPSAlcyIsIE9wdGlv bk5hbWUsIEFyZ3ZbMV0pOw0KKyAgICAgICAgICAgIHJldHVybiAxOw0KKyAgICAgICAgICB9DQor ICAgICAgICAgIC8vDQorICAgICAgICAgIC8vIERvbid0IGFsbG93IGRldmljZSBJRHMgZ3JlYXRl ciB0aGFuIDE2IGJpdHMNCisgICAgICAgICAgLy8gRG9uJ3QgYWxsb3cgMCwgc2luY2UgaXQgaXMg dXNlZCBhcyBhIGxpc3QgdGVybWluYXRvcg0KKyAgICAgICAgICAvLw0KKyAgICAgICAgICBpZiAo VGVtcFZhbHVlID49IDB4MTAwMDAgfHwgVGVtcFZhbHVlID09IDApIHsNCisgICAgICAgICAgICBF cnJvciAoTlVMTCwgMCwgMjAwMCwgIkludmFsaWQgb3B0aW9uIHZhbHVlIiwgIkRldmljZSBJZCAl cyBvdXQgb2YgcmFuZ2UhIiwgQXJndlsxXSk7DQorICAgICAgICAgICAgcmV0dXJuIDE7DQorICAg ICAgICAgIH0NCisNCisgICAgICAgICAgRGV2SWRMaXN0ID0gKFVJTlQxNiopIHJlYWxsb2MgKE9w dGlvbnMtPkRldklkTGlzdCwgKE9wdGlvbnMtPkRldklkQ291bnQgKyAxKSAqIHNpemVvZiAoVUlO VDE2KSk7DQorICAgICAgICAgIGlmIChEZXZJZExpc3QgPT0gTlVMTCkgew0KKyAgICAgICAgICAg IEVycm9yIChOVUxMLCAwLCA0MDAxLCAiUmVzb3VyY2UiLCAibWVtb3J5IGNhbm5vdCBiZSBhbGxv Y2F0ZWQhIiwgTlVMTCk7DQorICAgICAgICAgICAgcmV0dXJuIDE7DQorICAgICAgICAgIH0NCisg ICAgICAgICAgT3B0aW9ucy0+RGV2SWRMaXN0ID0gRGV2SWRMaXN0Ow0KKw0KKyAgICAgICAgICBP cHRpb25zLT5EZXZJZExpc3RbT3B0aW9ucy0+RGV2SWRDb3VudCsrXSA9IChVSU5UMTYpIFRlbXBW YWx1ZTsNCisNCisgICAgICAgICAgQXJndisrOw0KKyAgICAgICAgICBBcmdjLS07DQogICAgICAg ICB9DQotICAgICAgICBPcHRpb25zLT5EZXZJZCAgICAgID0gKFVJTlQxNikgVGVtcFZhbHVlOw0K LSAgICAgICAgT3B0aW9ucy0+RGV2SWRWYWxpZCA9IDE7DQogDQotICAgICAgICBBcmd2Kys7DQot ICAgICAgICBBcmdjLS07DQogICAgICAgfSBlbHNlIGlmICgoc3RyaWNtcCAoQXJndlswXSwgIi1v IikgPT0gMCkgfHwgKHN0cmljbXAgKEFyZ3ZbMF0sICItLW91dHB1dCIpID09IDApKSB7DQogICAg ICAgICAvLw0KICAgICAgICAgLy8gT3V0cHV0IGZpbGVuYW1lIHNwZWNpZmllZCB3aXRoIC1vDQpA QCAtMTAyMSw3ICsxMDk1LDcgQEAKICAgICAgICAgT3B0aW9ucy0+RHVtcE9wdGlvbiAgID0gMTsN CiANCiAgICAgICAgIE9wdGlvbnMtPlZlbmRJZFZhbGlkICA9IDE7DQotICAgICAgICBPcHRpb25z LT5EZXZJZFZhbGlkICAgPSAxOw0KKyAgICAgICAgT3B0aW9ucy0+RGV2SWRDb3VudCAgID0gMTsN CiAgICAgICAgIEZpbGVGbGFncyAgICAgICAgICAgICA9IEZJTEVfRkxBR19CSU5BUlk7DQogICAg ICAgfSBlbHNlIGlmICgoc3RyaWNtcCAoQXJndlswXSwgIi1sIikgPT0gMCkgfHwgKHN0cmljbXAg KEFyZ3ZbMF0sICItLWNsYXNzLWNvZGUiKSA9PSAwKSkgew0KICAgICAgICAgLy8NCkBAIC0xMTQ0 LDEwICsxMjE4LDE1IEBACiAgICAgICByZXR1cm4gU1RBVFVTX0VSUk9SOw0KICAgICB9DQogICAN Ci0gICAgaWYgKCFPcHRpb25zLT5EZXZJZFZhbGlkKSB7DQorICAgIGlmICghT3B0aW9ucy0+RGV2 SWRDb3VudCkgew0KICAgICAgIEVycm9yIChOVUxMLCAwLCAyMDAwLCAiTWlzc2luZyBEZXZpY2Ug SUQgaW4gY29tbWFuZCBsaW5lIiwgTlVMTCk7DQogICAgICAgcmV0dXJuIFNUQVRVU19FUlJPUjsN CiAgICAgfQ0KKw0KKyAgICBpZiAoT3B0aW9ucy0+RGV2SWRDb3VudCA+IDEgJiYgT3B0aW9ucy0+ UGNpMjMpIHsNCisgICAgICBFcnJvciAoTlVMTCwgMCwgMjAwMCwgIkludmFsaWQgcGFyYW1ldGVy IiwgIlBDSSAzLjAgaXMgcmVxdWlyZWQgd2hlbiBzcGVjaWZ5aW5nIG11bHRpcGxlIERldmljZSBJ RHMiKTsNCisgICAgICByZXR1cm4gU1RBVFVTX0VSUk9SOw0KKyAgICB9DQogICB9DQogDQogICBy ZXR1cm4gMDsNCkBAIC0xMjI2LDcgKzEzMDUsNyBAQAogICBmcHJpbnRmIChzdGRvdXQsICIgIC1m IFZlbmRvcklkXG5cDQogICAgICAgICAgICAgSGV4IFBDSSBWZW5kb3IgSUQgZm9yIHRoZSBkZXZp Y2UgT3BST00uXG4iKTsNCiAgIGZwcmludGYgKHN0ZG91dCwgIiAgLWkgRGV2aWNlSWRcblwNCi0g ICAgICAgICAgICBIZXggUENJIERldmljZSBJRCBmb3IgdGhlIGRldmljZSBPcFJPTS5cbiIpOw0K KyAgICAgICAgICAgIE9uZSBvciBtb3JlIGhleCBQQ0kgRGV2aWNlIElEcyBmb3IgdGhlIGRldmlj ZSBPcFJPTS5cbiIpOw0KICAgZnByaW50ZiAoc3Rkb3V0LCAiICAtcCwgLS1wY2kyM1xuXA0KICAg ICAgICAgICAgIERlZmF1bHQgbGF5b3V0IG1lZXRzIFBDSSAzLjAgc3BlY2lmaWNhdGlvbnNcblwN CiAgICAgICAgICAgICBzcGVjaWZ5aW5nIHRoaXMgZmxhZyB3aWxsIGZvciBhIFBDSSAyLjMgbGF5 b3V0LlxuIik7DQpAQCAtMTI3MSw2ICsxMzUwLDcgQEAKICAgRUZJX1BDSV9FWFBBTlNJT05fUk9N X0hFQURFUiAgRWZpUm9tSGRyOw0KICAgUENJX0RBVEFfU1RSVUNUVVJFICAgICAgICAgICAgUGNp RHMyMzsNCiAgIFBDSV8zXzBfREFUQV9TVFJVQ1RVUkUgICAgICAgIFBjaURzMzA7DQorICBVSU5U MTYgICAgICAgICAgICAgICAgICAgICAgICBEZXZJZDsNCiANCiAgIC8vDQogICAvLyBPcGVuIHRo ZSBpbnB1dCBmaWxlDQpAQCAtMTM2OSw2ICsxNDQ5LDMwIEBACiAgICAgZnByaW50ZiAoc3Rkb3V0 LCAiICAgIExlbmd0aCAgICAgICAgICAgICAgICAgIDB4JTA0WFxuIiwgUGNpRHMzMC5MZW5ndGgp Ow0KICAgICBmcHJpbnRmIChzdGRvdXQsICIgICAgUmV2aXNpb24gICAgICAgICAgICAgICAgMHgl MDRYXG4iLCBQY2lEczMwLlJldmlzaW9uKTsNCiAgICAgZnByaW50ZiAoc3Rkb3V0LCAiICAgIERl dmljZUxpc3RPZmZzZXQgICAgICAgIDB4JTAyWFxuIiwgUGNpRHMzMC5EZXZpY2VMaXN0T2Zmc2V0 KTsgICAgDQorICAgIGlmIChQY2lEczMwLkRldmljZUxpc3RPZmZzZXQpIHsNCisgICAgICAvLw0K KyAgICAgIC8vIFByaW50IGRldmljZSBJRCBsaXN0DQorICAgICAgLy8NCisgICAgICBmcHJpbnRm IChzdGRvdXQsICIgICAgRGV2aWNlIGxpc3QgY29udGVudHNcbiIpOw0KKyAgICAgIGlmIChmc2Vl ayAoSW5GcHRyLCBJbWFnZVN0YXJ0ICsgUGNpUm9tSGRyLlBjaXJPZmZzZXQgKyBQY2lEczMwLkRl dmljZUxpc3RPZmZzZXQsIFNFRUtfU0VUKSkgew0KKyAgICAgICAgRXJyb3IgKE5VTEwsIDAsIDMw MDEsICJOb3Qgc3VwcG9ydGVkIiwgIkZhaWxlZCB0byBzZWVrIHRvIFBDSSBkZXZpY2UgSUQgbGlz dCEiKTsNCisgICAgICAgIGdvdG8gQmFpbE91dDsNCisgICAgICB9DQorDQorICAgICAgLy8NCisg ICAgICAvLyBMb29wIHVudGlsIHRlcm1pbmF0aW5nIDANCisgICAgICAvLw0KKyAgICAgIGRvIHsN CisgICAgICAgIGlmIChmcmVhZCAoJkRldklkLCBzaXplb2YgKERldklkKSwgMSwgSW5GcHRyKSAh PSAxKSB7DQorICAgICAgICAgIEVycm9yIChOVUxMLCAwLCAzMDAxLCAiTm90IHN1cHBvcnRlZCIs ICJGYWlsZWQgdG8gcmVhZCBQQ0kgZGV2aWNlIElEIGxpc3QgZnJvbSBmaWxlICVzISIsIEluRmls ZS0+RmlsZU5hbWUpOw0KKyAgICAgICAgICBnb3RvIEJhaWxPdXQ7DQorICAgICAgICB9DQorICAg ICAgICBpZiAoRGV2SWQpIHsNCisgICAgICAgICAgZnByaW50ZiAoc3Rkb3V0LCAiICAgICAgMHgl MDRYXG4iLCBEZXZJZCk7DQorICAgICAgICB9DQorICAgICAgfSB3aGlsZSAoRGV2SWQpOw0KKw0K KyAgICB9DQogICAgIGZwcmludGYgKA0KICAgICAgIHN0ZG91dCwNCiAgICAgICAiICAgIENsYXNz IENvZGUgICAgICAgICAgICAgIDB4JTA2WFxuIiwNCkluZGV4OiBFZmlSb20uaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBFZmlSb20uaAkocmV2aXNpb24gMjEyOSkKKysrIEVmaVJvbS5oCSh3b3JraW5nIGNvcHkp CkBAIC05Miw5ICs5Miw5IEBACiAgIFVJTlQxNiAgICBDbGFzc0NvZGU7DQogICBVSU5UMTYgICAg UGNpUmV2aXNpb247DQogICBVSU5UMTYgICAgVmVuZElkOw0KLSAgVUlOVDE2ICAgIERldklkOw0K KyAgVUlOVDE2ICAgICpEZXZJZExpc3Q7DQorICBVSU5UMzIgICAgRGV2SWRDb3VudDsNCiAgIFVJ TlQ4ICAgICBWZW5kSWRWYWxpZDsNCi0gIFVJTlQ4ICAgICBEZXZJZFZhbGlkOw0KICAgSU5UOCAg ICAgIFZlcmJvc2U7DQogICBJTlQ4ICAgICAgUXVpZXQ7DQogICBJTlQ4ICAgICAgRGVidWc7DQo= --------------CF4E290CCFF8F24F5E62303D--