From owner-freebsd-xen@freebsd.org Fri Jan 13 06:58:25 2017 Return-Path: Delivered-To: freebsd-xen@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2207BCAC7A1 for ; Fri, 13 Jan 2017 06:58:25 +0000 (UTC) (envelope-from liuyingdong@huawei.com) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [58.251.152.64]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "myname.my.domain", Issuer "www.mirapoint.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 168C51516 for ; Fri, 13 Jan 2017 06:58:22 +0000 (UTC) (envelope-from liuyingdong@huawei.com) Received: from 172.24.1.136 (EHLO SZXEMA418-HUB.china.huawei.com) ([172.24.1.136]) by szxrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DXT95449; Fri, 13 Jan 2017 14:57:02 +0800 (CST) Received: from SZXEMA506-MBS.china.huawei.com ([169.254.4.67]) by SZXEMA418-HUB.china.huawei.com ([10.82.72.36]) with mapi id 14.03.0235.001; Fri, 13 Jan 2017 14:56:52 +0800 From: Liuyingdong To: "roger@citrix.com" CC: "freebsd-xen@freebsd.org" , "Zhaojun (Euler)" , Suoben , chuzhaosong Subject: I want to know how about these three patches for freebsd, Please let me know if you have any questions. Thanks. Thread-Topic: I want to know how about these three patches for freebsd, Please let me know if you have any questions. Thanks. Thread-Index: AdJtahz8+YHurcVoQhiY6o3+5S6g5g== Date: Fri, 13 Jan 2017 06:56:52 +0000 Message-ID: <3655E9A8B903724782E1F75DCFD74E6B0122A0C109@szxema506-mbs.china.huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.52.12.112] Content-Type: multipart/mixed; boundary="_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C109szxema506mbsc_" MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020201.58787A3E.03C4, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.4.67, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 12161fa910cfed63c00c3d0e9f240c84 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2017 06:58:25 -0000 --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C109szxema506mbsc_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello Roger, I want to know how about these three patches for freebsd, Please let me kno= w if you have any questions. these patches are listed as follows: l 0001 patch: I introduce suspend_cancel mechanism for frontend devices. l 0002 patch: I release all resources after hot unplug NICs. l 0003 patch: uvp-monitor need wait until stop_all_proc has finished. note: the uvp-monitor is a user space application in freebsd VM and it ofte= n reads or writes xenstore. Best Regards Yingdong Liu --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C109szxema506mbsc_ Content-Type: application/octet-stream; name="0001-introduce-suspend-cancel-mechanism-for-frontend-devices.patch" Content-Description: 0001-introduce-suspend-cancel-mechanism-for-frontend-devices.patch Content-Disposition: attachment; filename= "0001-introduce-suspend-cancel-mechanism-for-frontend-devices.patch"; size=9427; creation-date="Fri, 13 Jan 2017 06:50:34 GMT"; modification-date="Fri, 13 Jan 2017 06:50:34 GMT" Content-Transfer-Encoding: base64 RnJvbSBmYzg1YWM3ZWJhNTVhNWYxNGY1ZjdkODFmMGUxZmM3ZmJmNmE3NDQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZaW5nZG9uZyBMaXUgPGxpdXlpbmdkb25nQGh1YXdlaS5jb20+ CkRhdGU6IFR1ZSwgMTMgRGVjIDIwMTYgMjE6NTM6MjUgKzA4MDAKU3ViamVjdDogW1BBVENIXSBp bnRyb2R1Y2Ugc3VzcGVuZCBjYW5jZWwgbWVjaGFuaXNtIGZvciBmcm9udGVuZCBkZXZpY2VzCgot LS0KIHN5cy9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMgfCAxMyArKysrKysrKysrKwogc3lz L2Rldi94ZW4vY29udHJvbC9jb250cm9sLmMgICB8ICA5ICsrKysrKy0KIHN5cy9kZXYveGVuL25l dGZyb250L25ldGZyb250LmMgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLQogc3lzL3g4Ni94ZW4vaHZtLmMgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrLS0t LS0KIHN5cy94ZW4veGVuYnVzL3hlbmJ1c2IuYyAgICAgICAgfCA0NSArKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLQogc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmggICAgICB8ICA0 ICsrKysKIDYgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3N5cy9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMgYi9zeXMvZGV2 L3hlbi9ibGtmcm9udC9ibGtmcm9udC5jCmluZGV4IGE3MTI1MWQuLjhkN2MzMmEgMTAwNjQ0Ci0t LSBhL3N5cy9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMKKysrIGIvc3lzL2Rldi94ZW4vYmxr ZnJvbnQvYmxrZnJvbnQuYwpAQCAtNjgsNiArNjgsOCBAQCBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7 CiAKICNpbmNsdWRlICJ4ZW5idXNfaWYuaCIKIAorc3RhdGljIGludCBibGtmcm9udF9zdXNwZW5k X2NhbmNlbGxlZCA9IDA7CisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZvcndhcmQg RGVjbGFyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiBzdGF0aWMgdm9pZCB4 YmRfY2xvc2luZyhkZXZpY2VfdCk7CiBzdGF0aWMgdm9pZCB4YmRfc3RhcnRpbyhzdHJ1Y3QgeGJk X3NvZnRjICpzYyk7CkBAIC0xNDE3LDEwICsxNDE5LDIxIEBAIHhiZF9zdXNwZW5kKGRldmljZV90 IGRldikKIAlyZXR1cm4gKHJldHZhbCk7CiB9CiAKK3ZvaWQgeGJkX3NldF9zdXNwZW5kX2NhbmNl bCh2b2lkKQoreworCWJsa2Zyb250X3N1c3BlbmRfY2FuY2VsbGVkID0gMTsKK30KKwogc3RhdGlj IGludAogeGJkX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiB7CiAJc3RydWN0IHhiZF9zb2Z0YyAqc2Mg PSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7CisJCisJaWYoYmxrZnJvbnRfc3VzcGVuZF9jYW5jZWxs ZWQgPT0gMSkgeworCQlzYy0+eGJkX3N0YXRlID0gWEJEX1NUQVRFX0NPTk5FQ1RFRDsKKwkJYmxr ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPSAwOworCQlyZXR1cm4gKDApOworCX0KIAogCURQUklO VEsoInhiZF9yZXN1bWU6ICVzXG4iLCB4ZW5idXNfZ2V0X25vZGUoZGV2KSk7CiAKZGlmZiAtLWdp dCBhL3N5cy9kZXYveGVuL2NvbnRyb2wvY29udHJvbC5jIGIvc3lzL2Rldi94ZW4vY29udHJvbC9j b250cm9sLmMKaW5kZXggYmMwNjA5ZC4uYjUwMDEwMCAxMDA2NDQKLS0tIGEvc3lzL2Rldi94ZW4v Y29udHJvbC9jb250cm9sLmMKKysrIGIvc3lzL2Rldi94ZW4vY29udHJvbC9jb250cm9sLmMKQEAg LTQwMCw3ICs0MDAsOSBAQCB4Y3RybF9zdXNwZW5kKCkKIAkvKgogCSAqIFJlc2V0IGdyYW50IHRh YmxlIGluZm8uCiAJICovCi0JZ250dGFiX3Jlc3VtZSgpOworCWlmKHN1c3BlbmRfY2FuY2VsbGVk ID09IDApIHsKKwkJZ250dGFiX3Jlc3VtZSgpOworCX0KIAogI2lmZGVmIFNNUAogCWlmIChzbXBf c3RhcnRlZCAmJiAhQ1BVX0VNUFRZKCZjcHVfc3VzcGVuZF9tYXApKSB7CkBAIC00MTYsNiArNDE4 LDExIEBAIHhjdHJsX3N1c3BlbmQoKQogCSAqIEZyZWVCU0QgcmVhbGx5IG5lZWRzIHRvIGFkZCBE RVZJQ0VfU1VTUEVORF9DQU5DRUwgb3IKIAkgKiBzaW1pbGFyLgogCSAqLworCWlmKHN1c3BlbmRf Y2FuY2VsbGVkID09IDEpIHsKKwkJeGVuYnVzYl9zZXRfc3VzcGVuZF9jYW5jZWwoKTsKKwkJeGJk X3NldF9zdXNwZW5kX2NhbmNlbCgpOworCQl4bl9zZXRfc3VzcGVuZF9jYW5jZWwoKTsKKwl9CiAJ bXR4X2xvY2soJkdpYW50KTsKIAlERVZJQ0VfUkVTVU1FKHJvb3RfYnVzKTsKIAltdHhfdW5sb2Nr KCZHaWFudCk7CmRpZmYgLS1naXQgYS9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jIGIv c3lzL2Rldi94ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYwppbmRleCBkODljMGUwLi4wY2FhYTJjIDEw MDY0NAotLS0gYS9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jCisrKyBiL3N5cy9kZXYv eGVuL25ldGZyb250L25ldGZyb250LmMKQEAgLTk4LDYgKzk4LDggQEAgX19GQlNESUQoIiRGcmVl QlNEJCIpOwogI2RlZmluZSBORVRfVFhfUklOR19TSVpFIF9fUklOR19TSVpFKChuZXRpZl90eF9z cmluZ190ICopMCwgUEFHRV9TSVpFKQogI2RlZmluZSBORVRfUlhfUklOR19TSVpFIF9fUklOR19T SVpFKChuZXRpZl9yeF9zcmluZ190ICopMCwgUEFHRV9TSVpFKQogCitzdGF0aWMgaW50IG5ldGZy b250X3N1c3BlbmRfY2FuY2VsbGVkID0gMDsKKwogI2lmIF9fRnJlZUJTRF92ZXJzaW9uID49IDcw MDAwMAogLyoKICAqIFNob3VsZCB0aGUgZHJpdmVyIGRvIExSTyBvbiB0aGUgUlggZW5kCkBAIC0x OTIsNiArMTk0LDEwIEBAIHN0YXRpYyBpbnQgeGVubmV0X2dldF9yZXNwb25zZXMoc3RydWN0IG5l dGZyb250X2luZm8gKm5wLAogCXN0cnVjdCBuZXRmcm9udF9yeF9pbmZvICpyaW5mbywgUklOR19J RFggcnAsIFJJTkdfSURYICpjb25zLAogCXN0cnVjdCBtYnVmICoqbGlzdCwgaW50ICpwYWdlc19m bGlwcGVkX3ApOwogCisjaWZkZWYgSU5FVAorc3RhdGljIHZvaWQgbmV0ZnJvbnRfc2VuZF9mYWtl X2FycChkZXZpY2VfdCBkZXYsIHN0cnVjdCBuZXRmcm9udF9pbmZvICppbmZvKTsKKyNlbmRpZgor CiAjZGVmaW5lIHZpcnRfdG9fbWZuKHgpICh2dG9tYWNoKHgpID4+IFBBR0VfU0hJRlQpCiAKICNk ZWZpbmUgSU5WQUxJRF9QMk1fRU5UUlkgKH4wVUwpCkBAIC00OTMsNiArNDk5LDExIEBAIG5ldGZy b250X3N1c3BlbmQoZGV2aWNlX3QgZGV2KQogCXJldHVybiAoMCk7CiB9CiAKK3ZvaWQgeG5fc2V0 X3N1c3BlbmRfY2FuY2VsKHZvaWQpCit7CisJbmV0ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPSAx OworfQorCiAvKioKICAqIFdlIGFyZSByZWNvbm5lY3RpbmcgdG8gdGhlIGJhY2tlbmQsIGR1ZSB0 byBhIHN1c3BlbmQvcmVzdW1lLCBvciBhIGJhY2tlbmQKICAqIGRyaXZlciByZXN0YXJ0LiAgV2Ug dGVhciBkb3duIG91ciBuZXRpZiBzdHJ1Y3R1cmUgYW5kIHJlY3JlYXRlIGl0LCBidXQKQEAgLTUw NCw2ICs1MTUsMTkgQEAgbmV0ZnJvbnRfcmVzdW1lKGRldmljZV90IGRldikKIHsKIAlzdHJ1Y3Qg bmV0ZnJvbnRfaW5mbyAqaW5mbyA9IGRldmljZV9nZXRfc29mdGMoZGV2KTsKIAorCWlmKG5ldGZy b250X3N1c3BlbmRfY2FuY2VsbGVkID09IDEpIHsKKwkJaW5mby0+eG5fcmVzdW1lID0gdHJ1ZTsK KwkJWE5fUlhfTE9DSyhpbmZvKTsKKwkJWE5fVFhfTE9DSyhpbmZvKTsKKwkJbmV0ZnJvbnRfY2Fy cmllcl9vbihpbmZvKTsKKwkJWE5fVFhfVU5MT0NLKGluZm8pOworCQlYTl9SWF9VTkxPQ0soaW5m byk7CisjaWZkZWYgSU5FVAorCQluZXRmcm9udF9zZW5kX2Zha2VfYXJwKGRldiwgaW5mbyk7Cisj ZW5kaWYKKwkJbmV0ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPSAwOworCQlyZXR1cm4gKDApOwor CX0KIAlpbmZvLT54bl9yZXN1bWUgPSB0cnVlOwogCW5ldGlmX2Rpc2Nvbm5lY3RfYmFja2VuZChp bmZvKTsKIAlyZXR1cm4gKDApOwpAQCAtMjEwOCwyNiArMjEzMiwyNiBAQCBjcmVhdGVfbmV0ZGV2 KGRldmljZV90IGRldikKIAkKIAkvKiBTZXQgdXAgaWZuZXQgc3RydWN0dXJlICovCiAJaWZwID0g bnAtPnhuX2lmcCA9IGlmX2FsbG9jKElGVF9FVEhFUik7Ci0gICAgCWlmcC0+aWZfc29mdGMgPSBu cDsKLSAgICAJaWZfaW5pdG5hbWUoaWZwLCAieG4iLCAgZGV2aWNlX2dldF91bml0KGRldikpOwot ICAgIAlpZnAtPmlmX2ZsYWdzID0gSUZGX0JST0FEQ0FTVCB8IElGRl9TSU1QTEVYIHwgSUZGX01V TFRJQ0FTVDsKLSAgICAJaWZwLT5pZl9pb2N0bCA9IHhuX2lvY3RsOwotICAgIAlpZnAtPmlmX291 dHB1dCA9IGV0aGVyX291dHB1dDsKLSAgICAJaWZwLT5pZl9zdGFydCA9IHhuX3N0YXJ0OworCWlm cC0+aWZfc29mdGMgPSBucDsKKwlpZl9pbml0bmFtZShpZnAsICJ4biIsICBkZXZpY2VfZ2V0X3Vu aXQoZGV2KSk7CisJaWZwLT5pZl9mbGFncyA9IElGRl9CUk9BRENBU1QgfCBJRkZfU0lNUExFWCB8 IElGRl9NVUxUSUNBU1Q7CisJaWZwLT5pZl9pb2N0bCA9IHhuX2lvY3RsOworCWlmcC0+aWZfb3V0 cHV0ID0gZXRoZXJfb3V0cHV0OworCWlmcC0+aWZfc3RhcnQgPSB4bl9zdGFydDsKICNpZmRlZiBu b3R5ZXQKLSAgICAJaWZwLT5pZl93YXRjaGRvZyA9IHhuX3dhdGNoZG9nOworCWlmcC0+aWZfd2F0 Y2hkb2cgPSB4bl93YXRjaGRvZzsKICNlbmRpZgotICAgIAlpZnAtPmlmX2luaXQgPSB4bl9pZmlu aXQ7Ci0gICAgCWlmcC0+aWZfc25kLmlmcV9tYXhsZW4gPSBORVRfVFhfUklOR19TSVpFIC0gMTsK LQkKLSAgICAJaWZwLT5pZl9od2Fzc2lzdCA9IFhOX0NTVU1fRkVBVFVSRVM7Ci0gICAgCWlmcC0+ aWZfY2FwYWJpbGl0aWVzID0gSUZDQVBfSFdDU1VNOworCWlmcC0+aWZfaW5pdCA9IHhuX2lmaW5p dDsKKwlpZnAtPmlmX3NuZC5pZnFfbWF4bGVuID0gTkVUX1RYX1JJTkdfU0laRSAtIDE7CisKKwlp ZnAtPmlmX2h3YXNzaXN0ID0gWE5fQ1NVTV9GRUFUVVJFUzsKKwlpZnAtPmlmX2NhcGFiaWxpdGll cyA9IElGQ0FQX0hXQ1NVTTsKIAlpZnAtPmlmX2h3X3Rzb21heCA9IDY1NTM2IC0gKEVUSEVSX0hE Ul9MRU4gKyBFVEhFUl9WTEFOX0VOQ0FQX0xFTik7CiAJaWZwLT5pZl9od190c29tYXhzZWdjb3Vu dCA9IE1BWF9UWF9SRVFfRlJBR1M7CiAJaWZwLT5pZl9od190c29tYXhzZWdzaXplID0gUEFHRV9T SVpFOwogCQotICAgIAlldGhlcl9pZmF0dGFjaChpZnAsIG5wLT5tYWMpOwotICAgIAljYWxsb3V0 X2luaXQoJm5wLT54bl9zdGF0X2NoLCBDQUxMT1VUX01QU0FGRSk7CisJZXRoZXJfaWZhdHRhY2go aWZwLCBucC0+bWFjKTsKKwljYWxsb3V0X2luaXQoJm5wLT54bl9zdGF0X2NoLCBDQUxMT1VUX01Q U0FGRSk7CiAJbmV0ZnJvbnRfY2Fycmllcl9vZmYobnApOwogCiAJcmV0dXJuICgwKTsKZGlmZiAt LWdpdCBhL3N5cy94ODYveGVuL2h2bS5jIGIvc3lzL3g4Ni94ZW4vaHZtLmMKaW5kZXggYzM4Njk1 My4uMWMyYmE5ZCAxMDA2NDQKLS0tIGEvc3lzL3g4Ni94ZW4vaHZtLmMKKysrIGIvc3lzL3g4Ni94 ZW4vaHZtLmMKQEAgLTUxNywxMCArNTE3LDkgQEAgeGVuX2h2bV9pbml0KGVudW0geGVuX2h2bV9p bml0X3R5cGUgaW5pdF90eXBlKQogCWludCBlcnJvcjsKIAlpbnQgaTsKIAotCWlmIChpbml0X3R5 cGUgPT0gWEVOX0hWTV9JTklUX0NBTkNFTExFRF9TVVNQRU5EKQotCQlyZXR1cm47Ci0KLQllcnJv ciA9IHhlbl9odm1faW5pdF9oeXBlcmNhbGxfc3R1YnMoKTsKKwlpZiAoaW5pdF90eXBlICE9IFhF Tl9IVk1fSU5JVF9DQU5DRUxMRURfU1VTUEVORCkgeworCQllcnJvciA9IHhlbl9odm1faW5pdF9o eXBlcmNhbGxfc3R1YnMoKTsKKwl9CiAKIAlzd2l0Y2ggKGluaXRfdHlwZSkgewogCWNhc2UgWEVO X0hWTV9JTklUX0NPTEQ6CkBAIC01NDEsMTMgKzU0MCwxNyBAQCB4ZW5faHZtX2luaXQoZW51bSB4 ZW5faHZtX2luaXRfdHlwZSBpbml0X3R5cGUpCiAJCUNQVV9GT1JFQUNIKGkpCiAJCQlEUENQVV9J RF9TRVQoaSwgdmNwdV9pbmZvLCBOVUxMKTsKIAkJYnJlYWs7CisJY2FzZSBYRU5fSFZNX0lOSVRf Q0FOQ0VMTEVEX1NVU1BFTkQ6CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXBhbmljKCJVbnN1cHBv cnRlZCBIVk0gaW5pdGlhbGl6YXRpb24gdHlwZSIpOwogCX0KIAogCXhlbl92ZWN0b3JfY2FsbGJh Y2tfZW5hYmxlZCA9IDA7CiAJeGVuX2RvbWFpbl90eXBlID0gWEVOX0hWTV9ET01BSU47Ci0JeGVu X2h2bV9pbml0X3NoYXJlZF9pbmZvX3BhZ2UoKTsKKwlpZiAoaW5pdF90eXBlICE9IFhFTl9IVk1f SU5JVF9DQU5DRUxMRURfU1VTUEVORCkgeworCQl4ZW5faHZtX2luaXRfc2hhcmVkX2luZm9fcGFn ZSgpOworCX0KIAl4ZW5faHZtX3NldF9jYWxsYmFjayhOVUxMKTsKIAl4ZW5faHZtX2Rpc2FibGVf ZW11bGF0ZWRfZGV2aWNlcygpOwogfSAKQEAgLTU2NSw3ICs1NjgsOCBAQCB4ZW5faHZtX3Jlc3Vt ZShib29sIHN1c3BlbmRfY2FuY2VsbGVkKQogCSAgICBYRU5fSFZNX0lOSVRfQ0FOQ0VMTEVEX1NV U1BFTkQgOiBYRU5fSFZNX0lOSVRfUkVTVU1FKTsKIAogCS8qIFJlZ2lzdGVyIHZjcHVfaW5mbyBh cmVhIGZvciBDUFUjMC4gKi8KLQl4ZW5faHZtX2NwdV9pbml0KCk7CisJaWYoIXN1c3BlbmRfY2Fu Y2VsbGVkKQorCQl4ZW5faHZtX2NwdV9pbml0KCk7CiB9CiAgCiBzdGF0aWMgdm9pZApkaWZmIC0t Z2l0IGEvc3lzL3hlbi94ZW5idXMveGVuYnVzYi5jIGIvc3lzL3hlbi94ZW5idXMveGVuYnVzYi5j CmluZGV4IDFmODQ3OTUuLmNjZTgzY2QgMTAwNjQ0Ci0tLSBhL3N5cy94ZW4veGVuYnVzL3hlbmJ1 c2IuYworKysgYi9zeXMveGVuL3hlbmJ1cy94ZW5idXNiLmMKQEAgLTc1LDYgKzc1LDggQEAgX19G QlNESUQoIiRGcmVlQlNEJCIpOwogI2luY2x1ZGUgPHhlbi94ZW5idXMveGVuYnVzYi5oPgogI2lu Y2x1ZGUgPHhlbi94ZW5idXMveGVuYnVzdmFyLmg+CiAKK3N0YXRpYyBpbnQgeGVuYnVzYl9zdXNw ZW5kX2NhbmNlbGxlZCA9IDA7CisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcml2YXRl IEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKioKICAqIFxi cmllZiBEZWFsbG9jYXRlIFhlbkJ1cyBkZXZpY2UgaW5zdGFuY2UgdmFyaWFibGVzLgpAQCAtNzc2 LDYgKzc3OCwxMSBAQCB4ZW5idXNiX2F0dGFjaChkZXZpY2VfdCBkZXYsIGNoYXIgKmJ1c19ub2Rl LCB1X2ludCBpZF9jb21wb25lbnRzKQogCXJldHVybiAoMCk7CiB9CiAKK3ZvaWQgeGVuYnVzYl9z ZXRfc3VzcGVuZF9jYW5jZWwodm9pZCkKK3sKKwl4ZW5idXNiX3N1c3BlbmRfY2FuY2VsbGVkID0g MTsKK30KKwogaW50CiB4ZW5idXNiX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiB7CkBAIC03OTMsMjkg KzgwMCwzMiBAQCB4ZW5idXNiX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiAJCQlpZiAoZGV2aWNlX2dl dF9zdGF0ZShraWRzW2ldKSA9PSBEU19OT1RQUkVTRU5UKQogCQkJCWNvbnRpbnVlOwogCi0JCQlp dmFycyA9IGRldmljZV9nZXRfaXZhcnMoa2lkc1tpXSk7CisJCQlpZih4ZW5idXNiX3N1c3BlbmRf Y2FuY2VsbGVkID09IDApIHsKKwkJCQlpdmFycyA9IGRldmljZV9nZXRfaXZhcnMoa2lkc1tpXSk7 CiAKLQkJCXhzX3VucmVnaXN0ZXJfd2F0Y2goJml2YXJzLT54ZF9vdGhlcmVuZF93YXRjaCk7Ci0J CQl4ZW5idXNfc2V0X3N0YXRlKGtpZHNbaV0sIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nKTsKKwkJ CQl4c191bnJlZ2lzdGVyX3dhdGNoKCZpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gpOworCQkJCXhl bmJ1c19zZXRfc3RhdGUoa2lkc1tpXSwgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpOwogCi0JCQkv KgotCQkJICogRmluZCB0aGUgbmV3IGJhY2tlbmQgZGV0YWlscyBhbmQKLQkJCSAqIHJlLXJlZ2lz dGVyIG91ciB3YXRjaC4KLQkJCSAqLwotCQkJZXJyb3IgPSBYRU5CVVNCX0dFVF9PVEhFUkVORF9O T0RFKGRldiwgaXZhcnMpOwotCQkJaWYgKGVycm9yKQotCQkJCXJldHVybiAoZXJyb3IpOworCQkJ CS8qCisJCQkJICogRmluZCB0aGUgbmV3IGJhY2tlbmQgZGV0YWlscyBhbmQKKwkJCQkgKiByZS1y ZWdpc3RlciBvdXIgd2F0Y2guCisJCQkJICovCisJCQkJZXJyb3IgPSBYRU5CVVNCX0dFVF9PVEhF UkVORF9OT0RFKGRldiwgaXZhcnMpOworCQkJCWlmIChlcnJvcikKKwkJCQkJcmV0dXJuIChlcnJv cik7CiAKLQkJCXN0YXRlcGF0aCA9IG1hbGxvYyhpdmFycy0+eGRfb3RoZXJlbmRfcGF0aF9sZW4K LQkJCSAgICArIHN0cmxlbigiL3N0YXRlIikgKyAxLCBNX1hFTkJVUywgTV9XQUlUT0spOwotCQkJ c3ByaW50ZihzdGF0ZXBhdGgsICIlcy9zdGF0ZSIsIGl2YXJzLT54ZF9vdGhlcmVuZF9wYXRoKTsK KwkJCQlzdGF0ZXBhdGggPSBtYWxsb2MoaXZhcnMtPnhkX290aGVyZW5kX3BhdGhfbGVuCisJCQkJ ICAgICsgc3RybGVuKCIvc3RhdGUiKSArIDEsIE1fWEVOQlVTLCBNX1dBSVRPSyk7CisJCQkJc3By aW50ZihzdGF0ZXBhdGgsICIlcy9zdGF0ZSIsIGl2YXJzLT54ZF9vdGhlcmVuZF9wYXRoKTsKIAot CQkJZnJlZShpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gubm9kZSwgTV9YRU5CVVMpOwotCQkJaXZh cnMtPnhkX290aGVyZW5kX3dhdGNoLm5vZGUgPSBzdGF0ZXBhdGg7CisJCQkJZnJlZShpdmFycy0+ eGRfb3RoZXJlbmRfd2F0Y2gubm9kZSwgTV9YRU5CVVMpOworCQkJCWl2YXJzLT54ZF9vdGhlcmVu ZF93YXRjaC5ub2RlID0gc3RhdGVwYXRoOworCQkJfQogCiAJCQlERVZJQ0VfUkVTVU1FKGtpZHNb aV0pOwogCi0JCQl4c19yZWdpc3Rlcl93YXRjaCgmaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoKTsK KwkJCWlmKHhlbmJ1c2Jfc3VzcGVuZF9jYW5jZWxsZWQgPT0gMCkKKwkJCQl4c19yZWdpc3Rlcl93 YXRjaCgmaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoKTsKICNpZiAwCiAJCQkvKgogCQkJICogQ2Fu J3QgZG8gdGhpcyB5ZXQgc2luY2Ugd2UgYXJlIHJ1bm5pbmcgaW4KQEAgLTgzNCw2ICs4NDQsOSBA QCB4ZW5idXNiX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiAJCWZyZWUoa2lkcywgTV9URU1QKTsKIAl9 CiAKKwlpZih4ZW5idXNiX3N1c3BlbmRfY2FuY2VsbGVkID09IDEpCisJCXhlbmJ1c2Jfc3VzcGVu ZF9jYW5jZWxsZWQgPSAwOworCQogCXJldHVybiAoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL3N5cy94 ZW4veGVuYnVzL3hlbmJ1c3Zhci5oIGIvc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmgKaW5kZXgg YWI1ZDAxZi4uYWZmM2I2MCAxMDA2NDQKLS0tIGEvc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmgK KysrIGIvc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmgKQEAgLTI3Miw0ICsyNzIsOCBAQCB2b2lk IHhlbmJ1c19sb2NhbGVuZF9jaGFuZ2VkKGRldmljZV90IGRldiwgY29uc3QgY2hhciAqcGF0aCk7 CiAKICNpbmNsdWRlICJ4ZW5idXNfaWYuaCIKIAordm9pZCB4ZW5idXNiX3NldF9zdXNwZW5kX2Nh bmNlbCh2b2lkKTsKK3ZvaWQgeGJkX3NldF9zdXNwZW5kX2NhbmNlbCh2b2lkKTsKK3ZvaWQgeG5f c2V0X3N1c3BlbmRfY2FuY2VsKHZvaWQpOworCiAjZW5kaWYgLyogX1hFTl9YRU5CVVNfWEVOQlVT VkFSX0ggKi8KLS0gCjEuOC4zLjQKCg== --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C109szxema506mbsc_ Content-Type: application/octet-stream; name="0002-netfront-need-release-all-resources-after-hot-plug.patch" Content-Description: 0002-netfront-need-release-all-resources-after-hot-plug.patch Content-Disposition: attachment; filename="0002-netfront-need-release-all-resources-after-hot-plug.patch"; size=1807; creation-date="Fri, 13 Jan 2017 06:50:39 GMT"; modification-date="Fri, 13 Jan 2017 06:50:39 GMT" Content-Transfer-Encoding: base64 RnJvbSA0MjNhOTU5YTI2OGIyMDVjMDQ4NDg5ZTZhZGRlYmE1ZGI0NDllMzIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZaW5nZG9uZyBMaXUgPGxpdXlpbmdkb25nQGh1YXdlaS5jb20+ CkRhdGU6IFRodSwgMTUgRGVjIDIwMTYgMDk6MDk6MTYgKzA4MDAKU3ViamVjdDogW1BBVENIXSBb UEFUQ0hdbmV0ZnJvbnQ6IG5lZWQgcmVsZWFzZSBhbGwgcmVzb3VyY2VzIGFmdGVyIGFkZGluZyBh bmQKIHJlbW92aW5nIE5JQ3MgdGltZSBhbmQgYWdhaW4KCi0tLQogc3lzL2Rldi94ZW4vbmV0ZnJv bnQvbmV0ZnJvbnQuYyB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3N5cy9k ZXYveGVuL25ldGZyb250L25ldGZyb250LmMgYi9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9u dC5jCmluZGV4IDBjYWFhMmMuLjViNjdlMTIgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYveGVuL25ldGZy b250L25ldGZyb250LmMKKysrIGIvc3lzL2Rldi94ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYwpAQCAt MjE5Niw2ICsyMTk2LDQ2IEBAIG5ldGZyb250X2RldGFjaChkZXZpY2VfdCBkZXYpCiB9CiAKIHN0 YXRpYyB2b2lkCituZXRpZl9yZWxlYXNlX3J4X2J1ZnNfY29weShzdHJ1Y3QgbmV0ZnJvbnRfaW5m byAqbnApCit7CisJc3RydWN0IG1idWYgKm07CisJaW50IGksIHJlZjsKKwlpbnQgYnVzeSA9IDAs IGludXNlID0gMDsKKworCVhOX1JYX0xPQ0sobnApOworCisJZm9yIChpID0gMDsgaSA8IE5FVF9S WF9SSU5HX1NJWkU7IGkrKykgeworCQlyZWYgPSBucC0+Z3JhbnRfcnhfcmVmW2ldOworCisJCWlm IChyZWYgPT0gR1JBTlRfUkVGX0lOVkFMSUQpCisJCQljb250aW51ZTsKKworCQlpbnVzZSsrOwor CisJCW0gPSBucC0+cnhfbWJ1ZnNbaV07CisKKwkJaWYgKCFnbnR0YWJfZW5kX2ZvcmVpZ25fYWNj ZXNzX3JlZihyZWYpKQorCQl7CisJCQlidXN5Kys7CisJCQljb250aW51ZTsKKwkJfQorCisJCWdu dHRhYl9yZWxlYXNlX2dyYW50X3JlZmVyZW5jZSgmbnAtPmdyZWZfcnhfaGVhZCwgcmVmKTsKKwkJ bnAtPmdyYW50X3J4X3JlZltpXSA9IEdSQU5UX1JFRl9JTlZBTElEOworCQlhZGRfaWRfdG9fZnJl ZWxpc3QobnAtPnJ4X21idWZzLCBpKTsKKworCQltX2ZyZWVtKG0pOworCX0KKworCWlmIChidXN5 KQorCQlkZXZpY2VfcHJpbnRmKG5wLT54YmRldiwgIlVuYWJsZSB0byByZWxlYXNlICVkIG9mICVk ICIKKwkJCSJpbnVzZSBncmFudCByZWZlcmVuY2VzIG91dCBvZiAlbGQgdG90YWwuXG4iLAorCQkJ YnVzeSwgaW51c2UsIE5FVF9SWF9SSU5HX1NJWkUpOworCQorCVhOX1JYX1VOTE9DSyhucCk7Cit9 CisKK3N0YXRpYyB2b2lkCiBuZXRpZl9mcmVlKHN0cnVjdCBuZXRmcm9udF9pbmZvICppbmZvKQog ewogCVhOX0xPQ0soaW5mbyk7CkBAIC0yMjA5LDYgKzIyNDksMTIgQEAgbmV0aWZfZnJlZShzdHJ1 Y3QgbmV0ZnJvbnRfaW5mbyAqaW5mbykKIAkJaW5mby0+eG5faWZwID0gTlVMTDsKIAl9CiAJaWZt ZWRpYV9yZW1vdmVhbGwoJmluZm8tPnNjX21lZGlhKTsKKwluZXRpZl9yZWxlYXNlX3R4X2J1ZnMo aW5mbyk7CisJaWYgKGluZm8tPmNvcHlpbmdfcmVjZWl2ZXIpCisJCW5ldGlmX3JlbGVhc2Vfcnhf YnVmc19jb3B5KGluZm8pOworCisJZ250dGFiX2ZyZWVfZ3JhbnRfcmVmZXJlbmNlcyhpbmZvLT5n cmVmX3R4X2hlYWQpOworCWdudHRhYl9mcmVlX2dyYW50X3JlZmVyZW5jZXMoaW5mby0+Z3JlZl9y eF9oZWFkKTsKIH0KIAogc3RhdGljIHZvaWQKLS0gCjEuOC4zLjQKCg== --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C109szxema506mbsc_ Content-Type: application/octet-stream; name="0003-monitor-need-wait-until-stop-all-proc-has-finished.patch" Content-Description: 0003-monitor-need-wait-until-stop-all-proc-has-finished.patch Content-Disposition: attachment; filename="0003-monitor-need-wait-until-stop-all-proc-has-finished.patch"; size=2932; creation-date="Fri, 13 Jan 2017 06:51:39 GMT"; modification-date="Fri, 13 Jan 2017 06:51:39 GMT" Content-Transfer-Encoding: base64 RnJvbSA5MjdkOTA4OTY3MTgxYWVhNWM4ODRkN2QwMjdjYzhjYWJjZmRjMmUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXV5aW5nZG9uZyA8bGl1eWluZ2RvbmdAaHVhd2VpLmNvbT4K RGF0ZTogVHVlLCAyNyBEZWMgMjAxNiAxNjo1NTowNCArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtw YXRjaF11dnAtbW9uaXRvciBuZWVkIHdhaXQgdW50aWwgc3RvcF9hbGxfcHJvYyBoYXMgZmluaXNo ZWQKIGR1cmluZyBsaXZlLW1pZ3JhdGlvbgoKLS0tCiBzeXMvZGV2L3hlbi9jb250cm9sL2NvbnRy b2wuYyAgIHwgIDIgKysKIHN5cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYyAgICAgfCAzMyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHN5cy94ZW4veGVuc3RvcmUveGVuc3RvcmVf ZGV2LmMgfCAgOSArKysrKysrKysKIHN5cy94ZW4veGVuc3RvcmUveGVuc3RvcmV2YXIuaCAgfCAg NCArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9z eXMvZGV2L3hlbi9jb250cm9sL2NvbnRyb2wuYyBiL3N5cy9kZXYveGVuL2NvbnRyb2wvY29udHJv bC5jCmluZGV4IGI2YjM1MzUuLmE5MjFjMTkgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYveGVuL2NvbnRy b2wvY29udHJvbC5jCisrKyBiL3N5cy9kZXYveGVuL2NvbnRyb2wvY29udHJvbC5jCkBAIC0zNDYs NyArMzQ2LDkgQEAgeGN0cmxfc3VzcGVuZCgpCiAJaW50IHN1c3BlbmRfY2FuY2VsbGVkOwogCiAJ RVZFTlRIQU5ETEVSX0lOVk9LRShwb3dlcl9zdXNwZW5kX2Vhcmx5KTsKKwl4c19sb2NrKCk7CiAJ c3RvcF9hbGxfcHJvYygpOworCXhzX3VubG9jaygpOwogCUVWRU5USEFORExFUl9JTlZPS0UocG93 ZXJfc3VzcGVuZCk7CiAKIAlpZiAoc21wX3N0YXJ0ZWQpIHsKZGlmZiAtLWdpdCBhL3N5cy94ZW4v eGVuc3RvcmUveGVuc3RvcmUuYyBiL3N5cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYwppbmRleCA2 MDFlMDdkLi42ZmVhNzBkIDEwMDY0NAotLS0gYS9zeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlLmMK KysrIGIvc3lzL3hlbi94ZW5zdG9yZS94ZW5zdG9yZS5jCkBAIC0xMjAzLDExICsxMjAzLDQzIEBA IHhzX3N1c3BlbmQoZGV2aWNlX3QgZGV2KQogCiAJc3hfeGxvY2soJnhzLnN1c3BlbmRfbXV0ZXgp OwogCXN4X3hsb2NrKCZ4cy5yZXF1ZXN0X211dGV4KTsKIAogCXJldHVybiAoMCk7CiB9CiAKIC8q KgorICAqc3hfdHJ5X3Nsb2NrKCkgd2lsbCByZXR1cm4gMCBpZiB0aGUgc2hhcmVkL2V4Y2x1c2l2 ZQorICAqbG9jayBjYW5ub3QgYmUgYWNxdWlyZWQgaW1tZWRpYXRlbHk7IG90aGVyd2lzZSB0aGUg c2hhcmVkL2V4Y2x1c2l2ZSBsb2NrCisgICp3aWxsIGJlIGFjcXVpcmVkIGFuZCBhIG5vbi16ZXJv IHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICovCitpbnQKK3hzX3RyeV9sb2NrKHZvaWQpCit7 CisJcmV0dXJuIHN4X3RyeV94bG9jaygmeHMucmVxdWVzdF9tdXRleCk7Cit9CisKKy8qKgorIHhz X2xvY2sgYmVmb3JlIHN0b3BfYWxsX3Byb2MKKyAqLwordm9pZAoreHNfbG9jayh2b2lkKQorewor CXN4X3hsb2NrKCZ4cy5yZXF1ZXN0X211dGV4KTsKKwlyZXR1cm47Cit9CisKKy8qKgorIHhzX3Vu bG9jayBhZnRlciBzdG9wX2FsbF9wcm9jCisgKi8KK3ZvaWQKK3hzX3VubG9jayh2b2lkKQorewor CXN4X3h1bmxvY2soJnhzLnJlcXVlc3RfbXV0ZXgpOworCXJldHVybjsKK30KKworLyoqCiAgKiBS ZXN1bWUgWGVuU3RvcmUgb3BlcmF0aW9ucyBhZnRlciB0aGlzIFZNIGlzIHJlc3VtZWQuCiAgKi8K IHN0YXRpYyBpbnQKQEAgLTEyMTgsNiArMTI1MCw3IEBAIHhzX3Jlc3VtZShkZXZpY2VfdCBkZXYg X191bnVzZWQpCiAKIAl4c19pbml0X2NvbW1zKCk7CiAKIAlzeF94dW5sb2NrKCZ4cy5yZXF1ZXN0 X211dGV4KTsKIAogCS8qCmRpZmYgLS1naXQgYS9zeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlX2Rl di5jIGIvc3lzL3hlbi94ZW5zdG9yZS94ZW5zdG9yZV9kZXYuYwppbmRleCA5YzM1MTc4Li40Yzk5 ODIwIDEwMDY0NAotLS0gYS9zeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlX2Rldi5jCisrKyBiL3N5 cy94ZW4veGVuc3RvcmUveGVuc3RvcmVfZGV2LmMKQEAgLTEyNyw2ICsxMjcsMTUgQEAgeHNfZGV2 X3dyaXRlKHN0cnVjdCBjZGV2ICpkZXYsIHN0cnVjdCB1aW8gKnVpbywgaW50IGlvZmxhZykKIAlp ZiAoZXJyb3IgIT0gMCkKIAkJcmV0dXJuIChlcnJvcik7CiAKKwkvKndhaXQgdW50aWwgc3RvcF9h bGxfcHJvYyBoYXMgZmluaXNoZWQgZHVyaW5nIGxpdmUtbWlncmF0aW9uKi8KKwl3aGlsZSgheHNf dHJ5X2xvY2soKSkKKwl7CisJCWVycm9yID0gdHNsZWVwKHUsIFBDQVRDSCwgInhzZHdyaXRlIiwg aHovMTApOworCQlpZiAoZXJyb3IgJiYgZXJyb3IgIT0gRVdPVUxEQkxPQ0spCisJCQlyZXR1cm4g KGVycm9yKTsKKwl9CisJeHNfdW5sb2NrKCk7CisKIAlpZiAoKGxlbiArIHUtPmxlbikgPiBzaXpl b2YodS0+dS5idWZmZXIpKQogCQlyZXR1cm4gKEVJTlZBTCk7CiAKZGlmZiAtLWdpdCBhL3N5cy94 ZW4veGVuc3RvcmUveGVuc3RvcmV2YXIuaCBiL3N5cy94ZW4veGVuc3RvcmUveGVuc3RvcmV2YXIu aAppbmRleCBmZDNmMGMxLi42YjA5OTU5IDEwMDY0NAotLS0gYS9zeXMveGVuL3hlbnN0b3JlL3hl bnN0b3JldmFyLmgKKysrIGIvc3lzL3hlbi94ZW5zdG9yZS94ZW5zdG9yZXZhci5oCkBAIC0zMzgs NCArMzM4LDggQEAgdm9pZCB4c191bnJlZ2lzdGVyX3dhdGNoKHN0cnVjdCB4c193YXRjaCAqd2F0 Y2gpOwogICovCiBzdHJ1Y3Qgc2J1ZiAqeHNfam9pbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg Kik7CiAKK2ludCB4c190cnlfbG9jayh2b2lkKTsKK3ZvaWQgeHNfbG9jayh2b2lkKTsKK3ZvaWQg eHNfdW5sb2NrKHZvaWQpOworCiAjZW5kaWYgLyogX1hFTl9YRU5TVE9SRV9YRU5TVE9SRVZBUl9I ICovCi0tIAoyLjguMy53aW5kb3dzLjEKCg== --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C109szxema506mbsc_-- From owner-freebsd-xen@freebsd.org Fri Jan 13 07:01:18 2017 Return-Path: Delivered-To: freebsd-xen@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9759CAC84A for ; Fri, 13 Jan 2017 07:01:18 +0000 (UTC) (envelope-from liuyingdong@huawei.com) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [58.251.152.64]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "myname.my.domain", Issuer "www.mirapoint.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 1BB4116EA for ; Fri, 13 Jan 2017 07:01:16 +0000 (UTC) (envelope-from liuyingdong@huawei.com) Received: from 172.24.1.137 (EHLO szxema411-hub.china.huawei.com) ([172.24.1.137]) by szxrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DXT95763; Fri, 13 Jan 2017 15:01:08 +0800 (CST) Received: from SZXEMA506-MBS.china.huawei.com ([169.254.4.67]) by szxema411-hub.china.huawei.com ([10.82.72.70]) with mapi id 14.03.0235.001; Fri, 13 Jan 2017 15:01:02 +0800 From: Liuyingdong To: "roger.pau@citrix.com" CC: "freebsd-xen@freebsd.org" , "Zhaojun (Euler)" , Suoben , chuzhaosong Subject: I want to know how about these three patches for freebsd, Please let me know if you have any questions. Thanks. Thread-Topic: I want to know how about these three patches for freebsd, Please let me know if you have any questions. Thanks. Thread-Index: AdJtapvuqaKaS550SoGKwZQdHAERZg== Date: Fri, 13 Jan 2017 07:01:02 +0000 Message-ID: <3655E9A8B903724782E1F75DCFD74E6B0122A0C12D@szxema506-mbs.china.huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.52.12.112] Content-Type: multipart/mixed; boundary="_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C12Dszxema506mbsc_" MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020201.58787B35.0172, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.4.67, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 12161fa910cfed63c00c3d0e9f240c84 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2017 07:01:18 -0000 --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C12Dszxema506mbsc_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello Roger, I want to know how about these three patches for freebsd, Please let me kno= w if you have any questions. these patches are listed as follows: l 0001 patch: I introduce suspend_cancel mechanism for frontend devices. l 0002 patch: I release all resources after hot unplug NICs. l 0003 patch: uvp-monitor need wait until stop_all_proc has finished. note: the uvp-monitor is a user space application in freebsd VM and it ofte= n reads or writes xenstore. Best Regards Yingdong Liu --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C12Dszxema506mbsc_ Content-Type: application/octet-stream; name="0001-introduce-suspend-cancel-mechanism-for-frontend-devices.patch" Content-Description: 0001-introduce-suspend-cancel-mechanism-for-frontend-devices.patch Content-Disposition: attachment; filename= "0001-introduce-suspend-cancel-mechanism-for-frontend-devices.patch"; size=9427; creation-date="Fri, 13 Jan 2017 06:50:34 GMT"; modification-date="Fri, 13 Jan 2017 06:50:34 GMT" Content-Transfer-Encoding: base64 RnJvbSBmYzg1YWM3ZWJhNTVhNWYxNGY1ZjdkODFmMGUxZmM3ZmJmNmE3NDQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZaW5nZG9uZyBMaXUgPGxpdXlpbmdkb25nQGh1YXdlaS5jb20+ CkRhdGU6IFR1ZSwgMTMgRGVjIDIwMTYgMjE6NTM6MjUgKzA4MDAKU3ViamVjdDogW1BBVENIXSBp bnRyb2R1Y2Ugc3VzcGVuZCBjYW5jZWwgbWVjaGFuaXNtIGZvciBmcm9udGVuZCBkZXZpY2VzCgot LS0KIHN5cy9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMgfCAxMyArKysrKysrKysrKwogc3lz L2Rldi94ZW4vY29udHJvbC9jb250cm9sLmMgICB8ICA5ICsrKysrKy0KIHN5cy9kZXYveGVuL25l dGZyb250L25ldGZyb250LmMgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLQogc3lzL3g4Ni94ZW4vaHZtLmMgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrLS0t LS0KIHN5cy94ZW4veGVuYnVzL3hlbmJ1c2IuYyAgICAgICAgfCA0NSArKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLQogc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmggICAgICB8ICA0 ICsrKysKIDYgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3N5cy9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMgYi9zeXMvZGV2 L3hlbi9ibGtmcm9udC9ibGtmcm9udC5jCmluZGV4IGE3MTI1MWQuLjhkN2MzMmEgMTAwNjQ0Ci0t LSBhL3N5cy9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMKKysrIGIvc3lzL2Rldi94ZW4vYmxr ZnJvbnQvYmxrZnJvbnQuYwpAQCAtNjgsNiArNjgsOCBAQCBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7 CiAKICNpbmNsdWRlICJ4ZW5idXNfaWYuaCIKIAorc3RhdGljIGludCBibGtmcm9udF9zdXNwZW5k X2NhbmNlbGxlZCA9IDA7CisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZvcndhcmQg RGVjbGFyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiBzdGF0aWMgdm9pZCB4 YmRfY2xvc2luZyhkZXZpY2VfdCk7CiBzdGF0aWMgdm9pZCB4YmRfc3RhcnRpbyhzdHJ1Y3QgeGJk X3NvZnRjICpzYyk7CkBAIC0xNDE3LDEwICsxNDE5LDIxIEBAIHhiZF9zdXNwZW5kKGRldmljZV90 IGRldikKIAlyZXR1cm4gKHJldHZhbCk7CiB9CiAKK3ZvaWQgeGJkX3NldF9zdXNwZW5kX2NhbmNl bCh2b2lkKQoreworCWJsa2Zyb250X3N1c3BlbmRfY2FuY2VsbGVkID0gMTsKK30KKwogc3RhdGlj IGludAogeGJkX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiB7CiAJc3RydWN0IHhiZF9zb2Z0YyAqc2Mg PSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7CisJCisJaWYoYmxrZnJvbnRfc3VzcGVuZF9jYW5jZWxs ZWQgPT0gMSkgeworCQlzYy0+eGJkX3N0YXRlID0gWEJEX1NUQVRFX0NPTk5FQ1RFRDsKKwkJYmxr ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPSAwOworCQlyZXR1cm4gKDApOworCX0KIAogCURQUklO VEsoInhiZF9yZXN1bWU6ICVzXG4iLCB4ZW5idXNfZ2V0X25vZGUoZGV2KSk7CiAKZGlmZiAtLWdp dCBhL3N5cy9kZXYveGVuL2NvbnRyb2wvY29udHJvbC5jIGIvc3lzL2Rldi94ZW4vY29udHJvbC9j b250cm9sLmMKaW5kZXggYmMwNjA5ZC4uYjUwMDEwMCAxMDA2NDQKLS0tIGEvc3lzL2Rldi94ZW4v Y29udHJvbC9jb250cm9sLmMKKysrIGIvc3lzL2Rldi94ZW4vY29udHJvbC9jb250cm9sLmMKQEAg LTQwMCw3ICs0MDAsOSBAQCB4Y3RybF9zdXNwZW5kKCkKIAkvKgogCSAqIFJlc2V0IGdyYW50IHRh YmxlIGluZm8uCiAJICovCi0JZ250dGFiX3Jlc3VtZSgpOworCWlmKHN1c3BlbmRfY2FuY2VsbGVk ID09IDApIHsKKwkJZ250dGFiX3Jlc3VtZSgpOworCX0KIAogI2lmZGVmIFNNUAogCWlmIChzbXBf c3RhcnRlZCAmJiAhQ1BVX0VNUFRZKCZjcHVfc3VzcGVuZF9tYXApKSB7CkBAIC00MTYsNiArNDE4 LDExIEBAIHhjdHJsX3N1c3BlbmQoKQogCSAqIEZyZWVCU0QgcmVhbGx5IG5lZWRzIHRvIGFkZCBE RVZJQ0VfU1VTUEVORF9DQU5DRUwgb3IKIAkgKiBzaW1pbGFyLgogCSAqLworCWlmKHN1c3BlbmRf Y2FuY2VsbGVkID09IDEpIHsKKwkJeGVuYnVzYl9zZXRfc3VzcGVuZF9jYW5jZWwoKTsKKwkJeGJk X3NldF9zdXNwZW5kX2NhbmNlbCgpOworCQl4bl9zZXRfc3VzcGVuZF9jYW5jZWwoKTsKKwl9CiAJ bXR4X2xvY2soJkdpYW50KTsKIAlERVZJQ0VfUkVTVU1FKHJvb3RfYnVzKTsKIAltdHhfdW5sb2Nr KCZHaWFudCk7CmRpZmYgLS1naXQgYS9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jIGIv c3lzL2Rldi94ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYwppbmRleCBkODljMGUwLi4wY2FhYTJjIDEw MDY0NAotLS0gYS9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jCisrKyBiL3N5cy9kZXYv eGVuL25ldGZyb250L25ldGZyb250LmMKQEAgLTk4LDYgKzk4LDggQEAgX19GQlNESUQoIiRGcmVl QlNEJCIpOwogI2RlZmluZSBORVRfVFhfUklOR19TSVpFIF9fUklOR19TSVpFKChuZXRpZl90eF9z cmluZ190ICopMCwgUEFHRV9TSVpFKQogI2RlZmluZSBORVRfUlhfUklOR19TSVpFIF9fUklOR19T SVpFKChuZXRpZl9yeF9zcmluZ190ICopMCwgUEFHRV9TSVpFKQogCitzdGF0aWMgaW50IG5ldGZy b250X3N1c3BlbmRfY2FuY2VsbGVkID0gMDsKKwogI2lmIF9fRnJlZUJTRF92ZXJzaW9uID49IDcw MDAwMAogLyoKICAqIFNob3VsZCB0aGUgZHJpdmVyIGRvIExSTyBvbiB0aGUgUlggZW5kCkBAIC0x OTIsNiArMTk0LDEwIEBAIHN0YXRpYyBpbnQgeGVubmV0X2dldF9yZXNwb25zZXMoc3RydWN0IG5l dGZyb250X2luZm8gKm5wLAogCXN0cnVjdCBuZXRmcm9udF9yeF9pbmZvICpyaW5mbywgUklOR19J RFggcnAsIFJJTkdfSURYICpjb25zLAogCXN0cnVjdCBtYnVmICoqbGlzdCwgaW50ICpwYWdlc19m bGlwcGVkX3ApOwogCisjaWZkZWYgSU5FVAorc3RhdGljIHZvaWQgbmV0ZnJvbnRfc2VuZF9mYWtl X2FycChkZXZpY2VfdCBkZXYsIHN0cnVjdCBuZXRmcm9udF9pbmZvICppbmZvKTsKKyNlbmRpZgor CiAjZGVmaW5lIHZpcnRfdG9fbWZuKHgpICh2dG9tYWNoKHgpID4+IFBBR0VfU0hJRlQpCiAKICNk ZWZpbmUgSU5WQUxJRF9QMk1fRU5UUlkgKH4wVUwpCkBAIC00OTMsNiArNDk5LDExIEBAIG5ldGZy b250X3N1c3BlbmQoZGV2aWNlX3QgZGV2KQogCXJldHVybiAoMCk7CiB9CiAKK3ZvaWQgeG5fc2V0 X3N1c3BlbmRfY2FuY2VsKHZvaWQpCit7CisJbmV0ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPSAx OworfQorCiAvKioKICAqIFdlIGFyZSByZWNvbm5lY3RpbmcgdG8gdGhlIGJhY2tlbmQsIGR1ZSB0 byBhIHN1c3BlbmQvcmVzdW1lLCBvciBhIGJhY2tlbmQKICAqIGRyaXZlciByZXN0YXJ0LiAgV2Ug dGVhciBkb3duIG91ciBuZXRpZiBzdHJ1Y3R1cmUgYW5kIHJlY3JlYXRlIGl0LCBidXQKQEAgLTUw NCw2ICs1MTUsMTkgQEAgbmV0ZnJvbnRfcmVzdW1lKGRldmljZV90IGRldikKIHsKIAlzdHJ1Y3Qg bmV0ZnJvbnRfaW5mbyAqaW5mbyA9IGRldmljZV9nZXRfc29mdGMoZGV2KTsKIAorCWlmKG5ldGZy b250X3N1c3BlbmRfY2FuY2VsbGVkID09IDEpIHsKKwkJaW5mby0+eG5fcmVzdW1lID0gdHJ1ZTsK KwkJWE5fUlhfTE9DSyhpbmZvKTsKKwkJWE5fVFhfTE9DSyhpbmZvKTsKKwkJbmV0ZnJvbnRfY2Fy cmllcl9vbihpbmZvKTsKKwkJWE5fVFhfVU5MT0NLKGluZm8pOworCQlYTl9SWF9VTkxPQ0soaW5m byk7CisjaWZkZWYgSU5FVAorCQluZXRmcm9udF9zZW5kX2Zha2VfYXJwKGRldiwgaW5mbyk7Cisj ZW5kaWYKKwkJbmV0ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPSAwOworCQlyZXR1cm4gKDApOwor CX0KIAlpbmZvLT54bl9yZXN1bWUgPSB0cnVlOwogCW5ldGlmX2Rpc2Nvbm5lY3RfYmFja2VuZChp bmZvKTsKIAlyZXR1cm4gKDApOwpAQCAtMjEwOCwyNiArMjEzMiwyNiBAQCBjcmVhdGVfbmV0ZGV2 KGRldmljZV90IGRldikKIAkKIAkvKiBTZXQgdXAgaWZuZXQgc3RydWN0dXJlICovCiAJaWZwID0g bnAtPnhuX2lmcCA9IGlmX2FsbG9jKElGVF9FVEhFUik7Ci0gICAgCWlmcC0+aWZfc29mdGMgPSBu cDsKLSAgICAJaWZfaW5pdG5hbWUoaWZwLCAieG4iLCAgZGV2aWNlX2dldF91bml0KGRldikpOwot ICAgIAlpZnAtPmlmX2ZsYWdzID0gSUZGX0JST0FEQ0FTVCB8IElGRl9TSU1QTEVYIHwgSUZGX01V TFRJQ0FTVDsKLSAgICAJaWZwLT5pZl9pb2N0bCA9IHhuX2lvY3RsOwotICAgIAlpZnAtPmlmX291 dHB1dCA9IGV0aGVyX291dHB1dDsKLSAgICAJaWZwLT5pZl9zdGFydCA9IHhuX3N0YXJ0OworCWlm cC0+aWZfc29mdGMgPSBucDsKKwlpZl9pbml0bmFtZShpZnAsICJ4biIsICBkZXZpY2VfZ2V0X3Vu aXQoZGV2KSk7CisJaWZwLT5pZl9mbGFncyA9IElGRl9CUk9BRENBU1QgfCBJRkZfU0lNUExFWCB8 IElGRl9NVUxUSUNBU1Q7CisJaWZwLT5pZl9pb2N0bCA9IHhuX2lvY3RsOworCWlmcC0+aWZfb3V0 cHV0ID0gZXRoZXJfb3V0cHV0OworCWlmcC0+aWZfc3RhcnQgPSB4bl9zdGFydDsKICNpZmRlZiBu b3R5ZXQKLSAgICAJaWZwLT5pZl93YXRjaGRvZyA9IHhuX3dhdGNoZG9nOworCWlmcC0+aWZfd2F0 Y2hkb2cgPSB4bl93YXRjaGRvZzsKICNlbmRpZgotICAgIAlpZnAtPmlmX2luaXQgPSB4bl9pZmlu aXQ7Ci0gICAgCWlmcC0+aWZfc25kLmlmcV9tYXhsZW4gPSBORVRfVFhfUklOR19TSVpFIC0gMTsK LQkKLSAgICAJaWZwLT5pZl9od2Fzc2lzdCA9IFhOX0NTVU1fRkVBVFVSRVM7Ci0gICAgCWlmcC0+ aWZfY2FwYWJpbGl0aWVzID0gSUZDQVBfSFdDU1VNOworCWlmcC0+aWZfaW5pdCA9IHhuX2lmaW5p dDsKKwlpZnAtPmlmX3NuZC5pZnFfbWF4bGVuID0gTkVUX1RYX1JJTkdfU0laRSAtIDE7CisKKwlp ZnAtPmlmX2h3YXNzaXN0ID0gWE5fQ1NVTV9GRUFUVVJFUzsKKwlpZnAtPmlmX2NhcGFiaWxpdGll cyA9IElGQ0FQX0hXQ1NVTTsKIAlpZnAtPmlmX2h3X3Rzb21heCA9IDY1NTM2IC0gKEVUSEVSX0hE Ul9MRU4gKyBFVEhFUl9WTEFOX0VOQ0FQX0xFTik7CiAJaWZwLT5pZl9od190c29tYXhzZWdjb3Vu dCA9IE1BWF9UWF9SRVFfRlJBR1M7CiAJaWZwLT5pZl9od190c29tYXhzZWdzaXplID0gUEFHRV9T SVpFOwogCQotICAgIAlldGhlcl9pZmF0dGFjaChpZnAsIG5wLT5tYWMpOwotICAgIAljYWxsb3V0 X2luaXQoJm5wLT54bl9zdGF0X2NoLCBDQUxMT1VUX01QU0FGRSk7CisJZXRoZXJfaWZhdHRhY2go aWZwLCBucC0+bWFjKTsKKwljYWxsb3V0X2luaXQoJm5wLT54bl9zdGF0X2NoLCBDQUxMT1VUX01Q U0FGRSk7CiAJbmV0ZnJvbnRfY2Fycmllcl9vZmYobnApOwogCiAJcmV0dXJuICgwKTsKZGlmZiAt LWdpdCBhL3N5cy94ODYveGVuL2h2bS5jIGIvc3lzL3g4Ni94ZW4vaHZtLmMKaW5kZXggYzM4Njk1 My4uMWMyYmE5ZCAxMDA2NDQKLS0tIGEvc3lzL3g4Ni94ZW4vaHZtLmMKKysrIGIvc3lzL3g4Ni94 ZW4vaHZtLmMKQEAgLTUxNywxMCArNTE3LDkgQEAgeGVuX2h2bV9pbml0KGVudW0geGVuX2h2bV9p bml0X3R5cGUgaW5pdF90eXBlKQogCWludCBlcnJvcjsKIAlpbnQgaTsKIAotCWlmIChpbml0X3R5 cGUgPT0gWEVOX0hWTV9JTklUX0NBTkNFTExFRF9TVVNQRU5EKQotCQlyZXR1cm47Ci0KLQllcnJv ciA9IHhlbl9odm1faW5pdF9oeXBlcmNhbGxfc3R1YnMoKTsKKwlpZiAoaW5pdF90eXBlICE9IFhF Tl9IVk1fSU5JVF9DQU5DRUxMRURfU1VTUEVORCkgeworCQllcnJvciA9IHhlbl9odm1faW5pdF9o eXBlcmNhbGxfc3R1YnMoKTsKKwl9CiAKIAlzd2l0Y2ggKGluaXRfdHlwZSkgewogCWNhc2UgWEVO X0hWTV9JTklUX0NPTEQ6CkBAIC01NDEsMTMgKzU0MCwxNyBAQCB4ZW5faHZtX2luaXQoZW51bSB4 ZW5faHZtX2luaXRfdHlwZSBpbml0X3R5cGUpCiAJCUNQVV9GT1JFQUNIKGkpCiAJCQlEUENQVV9J RF9TRVQoaSwgdmNwdV9pbmZvLCBOVUxMKTsKIAkJYnJlYWs7CisJY2FzZSBYRU5fSFZNX0lOSVRf Q0FOQ0VMTEVEX1NVU1BFTkQ6CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXBhbmljKCJVbnN1cHBv cnRlZCBIVk0gaW5pdGlhbGl6YXRpb24gdHlwZSIpOwogCX0KIAogCXhlbl92ZWN0b3JfY2FsbGJh Y2tfZW5hYmxlZCA9IDA7CiAJeGVuX2RvbWFpbl90eXBlID0gWEVOX0hWTV9ET01BSU47Ci0JeGVu X2h2bV9pbml0X3NoYXJlZF9pbmZvX3BhZ2UoKTsKKwlpZiAoaW5pdF90eXBlICE9IFhFTl9IVk1f SU5JVF9DQU5DRUxMRURfU1VTUEVORCkgeworCQl4ZW5faHZtX2luaXRfc2hhcmVkX2luZm9fcGFn ZSgpOworCX0KIAl4ZW5faHZtX3NldF9jYWxsYmFjayhOVUxMKTsKIAl4ZW5faHZtX2Rpc2FibGVf ZW11bGF0ZWRfZGV2aWNlcygpOwogfSAKQEAgLTU2NSw3ICs1NjgsOCBAQCB4ZW5faHZtX3Jlc3Vt ZShib29sIHN1c3BlbmRfY2FuY2VsbGVkKQogCSAgICBYRU5fSFZNX0lOSVRfQ0FOQ0VMTEVEX1NV U1BFTkQgOiBYRU5fSFZNX0lOSVRfUkVTVU1FKTsKIAogCS8qIFJlZ2lzdGVyIHZjcHVfaW5mbyBh cmVhIGZvciBDUFUjMC4gKi8KLQl4ZW5faHZtX2NwdV9pbml0KCk7CisJaWYoIXN1c3BlbmRfY2Fu Y2VsbGVkKQorCQl4ZW5faHZtX2NwdV9pbml0KCk7CiB9CiAgCiBzdGF0aWMgdm9pZApkaWZmIC0t Z2l0IGEvc3lzL3hlbi94ZW5idXMveGVuYnVzYi5jIGIvc3lzL3hlbi94ZW5idXMveGVuYnVzYi5j CmluZGV4IDFmODQ3OTUuLmNjZTgzY2QgMTAwNjQ0Ci0tLSBhL3N5cy94ZW4veGVuYnVzL3hlbmJ1 c2IuYworKysgYi9zeXMveGVuL3hlbmJ1cy94ZW5idXNiLmMKQEAgLTc1LDYgKzc1LDggQEAgX19G QlNESUQoIiRGcmVlQlNEJCIpOwogI2luY2x1ZGUgPHhlbi94ZW5idXMveGVuYnVzYi5oPgogI2lu Y2x1ZGUgPHhlbi94ZW5idXMveGVuYnVzdmFyLmg+CiAKK3N0YXRpYyBpbnQgeGVuYnVzYl9zdXNw ZW5kX2NhbmNlbGxlZCA9IDA7CisKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcml2YXRl IEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKioKICAqIFxi cmllZiBEZWFsbG9jYXRlIFhlbkJ1cyBkZXZpY2UgaW5zdGFuY2UgdmFyaWFibGVzLgpAQCAtNzc2 LDYgKzc3OCwxMSBAQCB4ZW5idXNiX2F0dGFjaChkZXZpY2VfdCBkZXYsIGNoYXIgKmJ1c19ub2Rl LCB1X2ludCBpZF9jb21wb25lbnRzKQogCXJldHVybiAoMCk7CiB9CiAKK3ZvaWQgeGVuYnVzYl9z ZXRfc3VzcGVuZF9jYW5jZWwodm9pZCkKK3sKKwl4ZW5idXNiX3N1c3BlbmRfY2FuY2VsbGVkID0g MTsKK30KKwogaW50CiB4ZW5idXNiX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiB7CkBAIC03OTMsMjkg KzgwMCwzMiBAQCB4ZW5idXNiX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiAJCQlpZiAoZGV2aWNlX2dl dF9zdGF0ZShraWRzW2ldKSA9PSBEU19OT1RQUkVTRU5UKQogCQkJCWNvbnRpbnVlOwogCi0JCQlp dmFycyA9IGRldmljZV9nZXRfaXZhcnMoa2lkc1tpXSk7CisJCQlpZih4ZW5idXNiX3N1c3BlbmRf Y2FuY2VsbGVkID09IDApIHsKKwkJCQlpdmFycyA9IGRldmljZV9nZXRfaXZhcnMoa2lkc1tpXSk7 CiAKLQkJCXhzX3VucmVnaXN0ZXJfd2F0Y2goJml2YXJzLT54ZF9vdGhlcmVuZF93YXRjaCk7Ci0J CQl4ZW5idXNfc2V0X3N0YXRlKGtpZHNbaV0sIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nKTsKKwkJ CQl4c191bnJlZ2lzdGVyX3dhdGNoKCZpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gpOworCQkJCXhl bmJ1c19zZXRfc3RhdGUoa2lkc1tpXSwgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcpOwogCi0JCQkv KgotCQkJICogRmluZCB0aGUgbmV3IGJhY2tlbmQgZGV0YWlscyBhbmQKLQkJCSAqIHJlLXJlZ2lz dGVyIG91ciB3YXRjaC4KLQkJCSAqLwotCQkJZXJyb3IgPSBYRU5CVVNCX0dFVF9PVEhFUkVORF9O T0RFKGRldiwgaXZhcnMpOwotCQkJaWYgKGVycm9yKQotCQkJCXJldHVybiAoZXJyb3IpOworCQkJ CS8qCisJCQkJICogRmluZCB0aGUgbmV3IGJhY2tlbmQgZGV0YWlscyBhbmQKKwkJCQkgKiByZS1y ZWdpc3RlciBvdXIgd2F0Y2guCisJCQkJICovCisJCQkJZXJyb3IgPSBYRU5CVVNCX0dFVF9PVEhF UkVORF9OT0RFKGRldiwgaXZhcnMpOworCQkJCWlmIChlcnJvcikKKwkJCQkJcmV0dXJuIChlcnJv cik7CiAKLQkJCXN0YXRlcGF0aCA9IG1hbGxvYyhpdmFycy0+eGRfb3RoZXJlbmRfcGF0aF9sZW4K LQkJCSAgICArIHN0cmxlbigiL3N0YXRlIikgKyAxLCBNX1hFTkJVUywgTV9XQUlUT0spOwotCQkJ c3ByaW50ZihzdGF0ZXBhdGgsICIlcy9zdGF0ZSIsIGl2YXJzLT54ZF9vdGhlcmVuZF9wYXRoKTsK KwkJCQlzdGF0ZXBhdGggPSBtYWxsb2MoaXZhcnMtPnhkX290aGVyZW5kX3BhdGhfbGVuCisJCQkJ ICAgICsgc3RybGVuKCIvc3RhdGUiKSArIDEsIE1fWEVOQlVTLCBNX1dBSVRPSyk7CisJCQkJc3By aW50ZihzdGF0ZXBhdGgsICIlcy9zdGF0ZSIsIGl2YXJzLT54ZF9vdGhlcmVuZF9wYXRoKTsKIAot CQkJZnJlZShpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gubm9kZSwgTV9YRU5CVVMpOwotCQkJaXZh cnMtPnhkX290aGVyZW5kX3dhdGNoLm5vZGUgPSBzdGF0ZXBhdGg7CisJCQkJZnJlZShpdmFycy0+ eGRfb3RoZXJlbmRfd2F0Y2gubm9kZSwgTV9YRU5CVVMpOworCQkJCWl2YXJzLT54ZF9vdGhlcmVu ZF93YXRjaC5ub2RlID0gc3RhdGVwYXRoOworCQkJfQogCiAJCQlERVZJQ0VfUkVTVU1FKGtpZHNb aV0pOwogCi0JCQl4c19yZWdpc3Rlcl93YXRjaCgmaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoKTsK KwkJCWlmKHhlbmJ1c2Jfc3VzcGVuZF9jYW5jZWxsZWQgPT0gMCkKKwkJCQl4c19yZWdpc3Rlcl93 YXRjaCgmaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoKTsKICNpZiAwCiAJCQkvKgogCQkJICogQ2Fu J3QgZG8gdGhpcyB5ZXQgc2luY2Ugd2UgYXJlIHJ1bm5pbmcgaW4KQEAgLTgzNCw2ICs4NDQsOSBA QCB4ZW5idXNiX3Jlc3VtZShkZXZpY2VfdCBkZXYpCiAJCWZyZWUoa2lkcywgTV9URU1QKTsKIAl9 CiAKKwlpZih4ZW5idXNiX3N1c3BlbmRfY2FuY2VsbGVkID09IDEpCisJCXhlbmJ1c2Jfc3VzcGVu ZF9jYW5jZWxsZWQgPSAwOworCQogCXJldHVybiAoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL3N5cy94 ZW4veGVuYnVzL3hlbmJ1c3Zhci5oIGIvc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmgKaW5kZXgg YWI1ZDAxZi4uYWZmM2I2MCAxMDA2NDQKLS0tIGEvc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmgK KysrIGIvc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmgKQEAgLTI3Miw0ICsyNzIsOCBAQCB2b2lk IHhlbmJ1c19sb2NhbGVuZF9jaGFuZ2VkKGRldmljZV90IGRldiwgY29uc3QgY2hhciAqcGF0aCk7 CiAKICNpbmNsdWRlICJ4ZW5idXNfaWYuaCIKIAordm9pZCB4ZW5idXNiX3NldF9zdXNwZW5kX2Nh bmNlbCh2b2lkKTsKK3ZvaWQgeGJkX3NldF9zdXNwZW5kX2NhbmNlbCh2b2lkKTsKK3ZvaWQgeG5f c2V0X3N1c3BlbmRfY2FuY2VsKHZvaWQpOworCiAjZW5kaWYgLyogX1hFTl9YRU5CVVNfWEVOQlVT VkFSX0ggKi8KLS0gCjEuOC4zLjQKCg== --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C12Dszxema506mbsc_ Content-Type: application/octet-stream; name="0002-netfront-need-release-all-resources-after-hot-plug.patch" Content-Description: 0002-netfront-need-release-all-resources-after-hot-plug.patch Content-Disposition: attachment; filename="0002-netfront-need-release-all-resources-after-hot-plug.patch"; size=1807; creation-date="Fri, 13 Jan 2017 06:50:39 GMT"; modification-date="Fri, 13 Jan 2017 06:50:39 GMT" Content-Transfer-Encoding: base64 RnJvbSA0MjNhOTU5YTI2OGIyMDVjMDQ4NDg5ZTZhZGRlYmE1ZGI0NDllMzIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZaW5nZG9uZyBMaXUgPGxpdXlpbmdkb25nQGh1YXdlaS5jb20+ CkRhdGU6IFRodSwgMTUgRGVjIDIwMTYgMDk6MDk6MTYgKzA4MDAKU3ViamVjdDogW1BBVENIXSBb UEFUQ0hdbmV0ZnJvbnQ6IG5lZWQgcmVsZWFzZSBhbGwgcmVzb3VyY2VzIGFmdGVyIGFkZGluZyBh bmQKIHJlbW92aW5nIE5JQ3MgdGltZSBhbmQgYWdhaW4KCi0tLQogc3lzL2Rldi94ZW4vbmV0ZnJv bnQvbmV0ZnJvbnQuYyB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3N5cy9k ZXYveGVuL25ldGZyb250L25ldGZyb250LmMgYi9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9u dC5jCmluZGV4IDBjYWFhMmMuLjViNjdlMTIgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYveGVuL25ldGZy b250L25ldGZyb250LmMKKysrIGIvc3lzL2Rldi94ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYwpAQCAt MjE5Niw2ICsyMTk2LDQ2IEBAIG5ldGZyb250X2RldGFjaChkZXZpY2VfdCBkZXYpCiB9CiAKIHN0 YXRpYyB2b2lkCituZXRpZl9yZWxlYXNlX3J4X2J1ZnNfY29weShzdHJ1Y3QgbmV0ZnJvbnRfaW5m byAqbnApCit7CisJc3RydWN0IG1idWYgKm07CisJaW50IGksIHJlZjsKKwlpbnQgYnVzeSA9IDAs IGludXNlID0gMDsKKworCVhOX1JYX0xPQ0sobnApOworCisJZm9yIChpID0gMDsgaSA8IE5FVF9S WF9SSU5HX1NJWkU7IGkrKykgeworCQlyZWYgPSBucC0+Z3JhbnRfcnhfcmVmW2ldOworCisJCWlm IChyZWYgPT0gR1JBTlRfUkVGX0lOVkFMSUQpCisJCQljb250aW51ZTsKKworCQlpbnVzZSsrOwor CisJCW0gPSBucC0+cnhfbWJ1ZnNbaV07CisKKwkJaWYgKCFnbnR0YWJfZW5kX2ZvcmVpZ25fYWNj ZXNzX3JlZihyZWYpKQorCQl7CisJCQlidXN5Kys7CisJCQljb250aW51ZTsKKwkJfQorCisJCWdu dHRhYl9yZWxlYXNlX2dyYW50X3JlZmVyZW5jZSgmbnAtPmdyZWZfcnhfaGVhZCwgcmVmKTsKKwkJ bnAtPmdyYW50X3J4X3JlZltpXSA9IEdSQU5UX1JFRl9JTlZBTElEOworCQlhZGRfaWRfdG9fZnJl ZWxpc3QobnAtPnJ4X21idWZzLCBpKTsKKworCQltX2ZyZWVtKG0pOworCX0KKworCWlmIChidXN5 KQorCQlkZXZpY2VfcHJpbnRmKG5wLT54YmRldiwgIlVuYWJsZSB0byByZWxlYXNlICVkIG9mICVk ICIKKwkJCSJpbnVzZSBncmFudCByZWZlcmVuY2VzIG91dCBvZiAlbGQgdG90YWwuXG4iLAorCQkJ YnVzeSwgaW51c2UsIE5FVF9SWF9SSU5HX1NJWkUpOworCQorCVhOX1JYX1VOTE9DSyhucCk7Cit9 CisKK3N0YXRpYyB2b2lkCiBuZXRpZl9mcmVlKHN0cnVjdCBuZXRmcm9udF9pbmZvICppbmZvKQog ewogCVhOX0xPQ0soaW5mbyk7CkBAIC0yMjA5LDYgKzIyNDksMTIgQEAgbmV0aWZfZnJlZShzdHJ1 Y3QgbmV0ZnJvbnRfaW5mbyAqaW5mbykKIAkJaW5mby0+eG5faWZwID0gTlVMTDsKIAl9CiAJaWZt ZWRpYV9yZW1vdmVhbGwoJmluZm8tPnNjX21lZGlhKTsKKwluZXRpZl9yZWxlYXNlX3R4X2J1ZnMo aW5mbyk7CisJaWYgKGluZm8tPmNvcHlpbmdfcmVjZWl2ZXIpCisJCW5ldGlmX3JlbGVhc2Vfcnhf YnVmc19jb3B5KGluZm8pOworCisJZ250dGFiX2ZyZWVfZ3JhbnRfcmVmZXJlbmNlcyhpbmZvLT5n cmVmX3R4X2hlYWQpOworCWdudHRhYl9mcmVlX2dyYW50X3JlZmVyZW5jZXMoaW5mby0+Z3JlZl9y eF9oZWFkKTsKIH0KIAogc3RhdGljIHZvaWQKLS0gCjEuOC4zLjQKCg== --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C12Dszxema506mbsc_ Content-Type: application/octet-stream; name="0003-monitor-need-wait-until-stop-all-proc-has-finished.patch" Content-Description: 0003-monitor-need-wait-until-stop-all-proc-has-finished.patch Content-Disposition: attachment; filename="0003-monitor-need-wait-until-stop-all-proc-has-finished.patch"; size=2932; creation-date="Fri, 13 Jan 2017 06:51:39 GMT"; modification-date="Fri, 13 Jan 2017 06:51:39 GMT" Content-Transfer-Encoding: base64 RnJvbSA5MjdkOTA4OTY3MTgxYWVhNWM4ODRkN2QwMjdjYzhjYWJjZmRjMmUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXV5aW5nZG9uZyA8bGl1eWluZ2RvbmdAaHVhd2VpLmNvbT4K RGF0ZTogVHVlLCAyNyBEZWMgMjAxNiAxNjo1NTowNCArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtw YXRjaF11dnAtbW9uaXRvciBuZWVkIHdhaXQgdW50aWwgc3RvcF9hbGxfcHJvYyBoYXMgZmluaXNo ZWQKIGR1cmluZyBsaXZlLW1pZ3JhdGlvbgoKLS0tCiBzeXMvZGV2L3hlbi9jb250cm9sL2NvbnRy b2wuYyAgIHwgIDIgKysKIHN5cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYyAgICAgfCAzMyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHN5cy94ZW4veGVuc3RvcmUveGVuc3RvcmVf ZGV2LmMgfCAgOSArKysrKysrKysKIHN5cy94ZW4veGVuc3RvcmUveGVuc3RvcmV2YXIuaCAgfCAg NCArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9z eXMvZGV2L3hlbi9jb250cm9sL2NvbnRyb2wuYyBiL3N5cy9kZXYveGVuL2NvbnRyb2wvY29udHJv bC5jCmluZGV4IGI2YjM1MzUuLmE5MjFjMTkgMTAwNjQ0Ci0tLSBhL3N5cy9kZXYveGVuL2NvbnRy b2wvY29udHJvbC5jCisrKyBiL3N5cy9kZXYveGVuL2NvbnRyb2wvY29udHJvbC5jCkBAIC0zNDYs NyArMzQ2LDkgQEAgeGN0cmxfc3VzcGVuZCgpCiAJaW50IHN1c3BlbmRfY2FuY2VsbGVkOwogCiAJ RVZFTlRIQU5ETEVSX0lOVk9LRShwb3dlcl9zdXNwZW5kX2Vhcmx5KTsKKwl4c19sb2NrKCk7CiAJ c3RvcF9hbGxfcHJvYygpOworCXhzX3VubG9jaygpOwogCUVWRU5USEFORExFUl9JTlZPS0UocG93 ZXJfc3VzcGVuZCk7CiAKIAlpZiAoc21wX3N0YXJ0ZWQpIHsKZGlmZiAtLWdpdCBhL3N5cy94ZW4v eGVuc3RvcmUveGVuc3RvcmUuYyBiL3N5cy94ZW4veGVuc3RvcmUveGVuc3RvcmUuYwppbmRleCA2 MDFlMDdkLi42ZmVhNzBkIDEwMDY0NAotLS0gYS9zeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlLmMK KysrIGIvc3lzL3hlbi94ZW5zdG9yZS94ZW5zdG9yZS5jCkBAIC0xMjAzLDExICsxMjAzLDQzIEBA IHhzX3N1c3BlbmQoZGV2aWNlX3QgZGV2KQogCiAJc3hfeGxvY2soJnhzLnN1c3BlbmRfbXV0ZXgp OwogCXN4X3hsb2NrKCZ4cy5yZXF1ZXN0X211dGV4KTsKIAogCXJldHVybiAoMCk7CiB9CiAKIC8q KgorICAqc3hfdHJ5X3Nsb2NrKCkgd2lsbCByZXR1cm4gMCBpZiB0aGUgc2hhcmVkL2V4Y2x1c2l2 ZQorICAqbG9jayBjYW5ub3QgYmUgYWNxdWlyZWQgaW1tZWRpYXRlbHk7IG90aGVyd2lzZSB0aGUg c2hhcmVkL2V4Y2x1c2l2ZSBsb2NrCisgICp3aWxsIGJlIGFjcXVpcmVkIGFuZCBhIG5vbi16ZXJv IHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICovCitpbnQKK3hzX3RyeV9sb2NrKHZvaWQpCit7 CisJcmV0dXJuIHN4X3RyeV94bG9jaygmeHMucmVxdWVzdF9tdXRleCk7Cit9CisKKy8qKgorIHhz X2xvY2sgYmVmb3JlIHN0b3BfYWxsX3Byb2MKKyAqLwordm9pZAoreHNfbG9jayh2b2lkKQorewor CXN4X3hsb2NrKCZ4cy5yZXF1ZXN0X211dGV4KTsKKwlyZXR1cm47Cit9CisKKy8qKgorIHhzX3Vu bG9jayBhZnRlciBzdG9wX2FsbF9wcm9jCisgKi8KK3ZvaWQKK3hzX3VubG9jayh2b2lkKQorewor CXN4X3h1bmxvY2soJnhzLnJlcXVlc3RfbXV0ZXgpOworCXJldHVybjsKK30KKworLyoqCiAgKiBS ZXN1bWUgWGVuU3RvcmUgb3BlcmF0aW9ucyBhZnRlciB0aGlzIFZNIGlzIHJlc3VtZWQuCiAgKi8K IHN0YXRpYyBpbnQKQEAgLTEyMTgsNiArMTI1MCw3IEBAIHhzX3Jlc3VtZShkZXZpY2VfdCBkZXYg X191bnVzZWQpCiAKIAl4c19pbml0X2NvbW1zKCk7CiAKIAlzeF94dW5sb2NrKCZ4cy5yZXF1ZXN0 X211dGV4KTsKIAogCS8qCmRpZmYgLS1naXQgYS9zeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlX2Rl di5jIGIvc3lzL3hlbi94ZW5zdG9yZS94ZW5zdG9yZV9kZXYuYwppbmRleCA5YzM1MTc4Li40Yzk5 ODIwIDEwMDY0NAotLS0gYS9zeXMveGVuL3hlbnN0b3JlL3hlbnN0b3JlX2Rldi5jCisrKyBiL3N5 cy94ZW4veGVuc3RvcmUveGVuc3RvcmVfZGV2LmMKQEAgLTEyNyw2ICsxMjcsMTUgQEAgeHNfZGV2 X3dyaXRlKHN0cnVjdCBjZGV2ICpkZXYsIHN0cnVjdCB1aW8gKnVpbywgaW50IGlvZmxhZykKIAlp ZiAoZXJyb3IgIT0gMCkKIAkJcmV0dXJuIChlcnJvcik7CiAKKwkvKndhaXQgdW50aWwgc3RvcF9h bGxfcHJvYyBoYXMgZmluaXNoZWQgZHVyaW5nIGxpdmUtbWlncmF0aW9uKi8KKwl3aGlsZSgheHNf dHJ5X2xvY2soKSkKKwl7CisJCWVycm9yID0gdHNsZWVwKHUsIFBDQVRDSCwgInhzZHdyaXRlIiwg aHovMTApOworCQlpZiAoZXJyb3IgJiYgZXJyb3IgIT0gRVdPVUxEQkxPQ0spCisJCQlyZXR1cm4g KGVycm9yKTsKKwl9CisJeHNfdW5sb2NrKCk7CisKIAlpZiAoKGxlbiArIHUtPmxlbikgPiBzaXpl b2YodS0+dS5idWZmZXIpKQogCQlyZXR1cm4gKEVJTlZBTCk7CiAKZGlmZiAtLWdpdCBhL3N5cy94 ZW4veGVuc3RvcmUveGVuc3RvcmV2YXIuaCBiL3N5cy94ZW4veGVuc3RvcmUveGVuc3RvcmV2YXIu aAppbmRleCBmZDNmMGMxLi42YjA5OTU5IDEwMDY0NAotLS0gYS9zeXMveGVuL3hlbnN0b3JlL3hl bnN0b3JldmFyLmgKKysrIGIvc3lzL3hlbi94ZW5zdG9yZS94ZW5zdG9yZXZhci5oCkBAIC0zMzgs NCArMzM4LDggQEAgdm9pZCB4c191bnJlZ2lzdGVyX3dhdGNoKHN0cnVjdCB4c193YXRjaCAqd2F0 Y2gpOwogICovCiBzdHJ1Y3Qgc2J1ZiAqeHNfam9pbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg Kik7CiAKK2ludCB4c190cnlfbG9jayh2b2lkKTsKK3ZvaWQgeHNfbG9jayh2b2lkKTsKK3ZvaWQg eHNfdW5sb2NrKHZvaWQpOworCiAjZW5kaWYgLyogX1hFTl9YRU5TVE9SRV9YRU5TVE9SRVZBUl9I ICovCi0tIAoyLjguMy53aW5kb3dzLjEKCg== --_006_3655E9A8B903724782E1F75DCFD74E6B0122A0C12Dszxema506mbsc_--