From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: [PATCH v4 15/19] x86/efi: create new early memory allocator Date: Sat, 6 Aug 2016 01:04:38 +0200 Message-ID: <1470438282-4226-16-git-send-email-daniel.kiper@oracle.com> References: <1470438282-4226-1-git-send-email-daniel.kiper@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bVoBp-0003YD-TA for xen-devel@lists.xenproject.org; Fri, 05 Aug 2016 23:06:05 +0000 In-Reply-To: <1470438282-4226-1-git-send-email-daniel.kiper@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: jgross@suse.com, sstabellini@kernel.org, andrew.cooper3@citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, david.vrabel@citrix.com, jbeulich@suse.com, qiaowei.ren@intel.com, richard.l.maliszewski@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggcGxhY2Vfc3RyaW5nKCkgd2hpY2ggaXMgdXNlZCBhcyBl YXJseSBtZW1vcnkKYWxsb2NhdG9yLiBJdCBnZXRzIG1lbW9yeSBjaHVua3Mgc3RhcnRpbmcgZnJv bSBzdGFydCBzeW1ib2wgYW5kIGdvZXMKZG93bi4gU2FkbHkgdGhpcyBkb2VzIG5vdCB3b3JrIHdo ZW4gWGVuIGlzIGxvYWRlZCB1c2luZyBtdWx0aWJvb3QyCnByb3RvY29sIGJlY2F1c2UgdGhlbiB0 aGUgc3RhcnQgbGl2ZXMgb24gMSBNaUIgYWRkcmVzcyBhbmQgd2Ugc2hvdWxkCm5vdCBhbGxvY2F0 ZSBhIG1lbW9yeSBmcm9tIGJlbG93IG9mIGl0LiBTbywgSSB0cmllZCB0byB1c2UgbWVtX2xvd2Vy CmFkZHJlc3MgY2FsY3VsYXRlZCBieSBHUlVCMi4gSG93ZXZlciwgdGhpcyBzb2x1dGlvbiB3b3Jr cyBvbmx5IG9uIHNvbWUKbWFjaGluZXMuIFRoZXJlIGFyZSBtYWNoaW5lcyBpbiB0aGUgd2lsZCAo ZS5nLiBEZWxsIFBvd2VyRWRnZSBSODIwKQp3aGljaCB1c2VzIGZpcnN0IH42NDAgS2lCIGZvciBi b290IHNlcnZpY2VzIGNvZGUgb3IgZGF0YS4uLiA6LSgoKApIZW5jZSwgd2UgbmVlZCBuZXcgbWVt b3J5IGFsbG9jYXRvciBmb3IgWGVuIEVGSSBib290IGNvZGUgd2hpY2ggaXMKcXVpdGUgc2ltcGxl IGFuZCBnZW5lcmljIGFuZCBjb3VsZCBiZSB1c2VkIGJ5IHBsYWNlX3N0cmluZygpIGFuZAplZmlf YXJjaF9hbGxvY2F0ZV9tbWFwX2J1ZmZlcigpLiBJIHRoaW5rIGFib3V0IGZvbGxvd2luZyBzb2x1 dGlvbnM6CgoxKSBXZSBjb3VsZCB1c2UgbmF0aXZlIEVGSSBhbGxvY2F0aW9uIGZ1bmN0aW9ucyAo ZS5nLiBBbGxvY2F0ZVBvb2woKQogICBvciBBbGxvY2F0ZVBhZ2VzKCkpIHRvIGdldCBtZW1vcnkg Y2h1bmsuIEhvd2V2ZXIsIGxhdGVyIChzb21ld2hlcmUKICAgaW4gX19zdGFydF94ZW4oKSkgd2Ug bXVzdCBjb3B5IGl0cyBjb250ZW50cyB0byBzYWZlIHBsYWNlIG9yIHJlc2VydmUKICAgaXQgaW4g ZTgyMCBtZW1vcnkgbWFwIGFuZCBtYXAgaXQgaW4gWGVuIHZpcnR1YWwgYWRkcmVzcyBzcGFjZS4g VGhpcwogICBtZWFucyB0aGF0IHRoZSBjb2RlIHJlZmVycmluZyB0byBYZW4gY29tbWFuZCBsaW5l LCBsb2FkZWQgbW9kdWxlcyBhbmQKICAgRUZJIG1lbW9yeSBtYXAsIG1vc3RseSBpbiBfX3N0YXJ0 X3hlbigpLCB3aWxsIGJlIGZ1cnRoZXIgY29tcGxpY2F0ZWQKICAgYW5kIGRpdmVyZ2UgZnJvbSBs ZWdhY3kgQklPUyBjYXNlcy4gQWRkaXRpb25hbGx5LCBib3RoIGZvcm1lciB0aGluZ3MKICAgaGF2 ZSB0byBiZSBwbGFjZWQgYmVsb3cgNCBHaUIgYmVjYXVzZSB0aGVpciBhZGRyZXNzZXMgYXJlIHN0 b3JlZCBpbgogICBtdWx0aWJvb3RfaW5mb190IHN0cnVjdHVyZSB3aGljaCBoYXMgMzItYml0IHJl bGV2YW50IG1lbWJlcnMuCgoyKSBXZSBtYXkgYWxsb2NhdGUgbWVtb3J5IGFyZWEgc3RhdGljYWxs eSBzb21ld2hlcmUgaW4gWGVuIGNvZGUgd2hpY2gKICAgY291bGQgYmUgdXNlZCBhcyBtZW1vcnkg cG9vbCBmb3IgZWFybHkgZHluYW1pYyBhbGxvY2F0aW9ucy4gTG9va3MKICAgcXVpdGUgc2ltcGxl LiBBZGRpdGlvbmFsbHksIGl0IHdvdWxkIG5vdCBkZXBlbmQgb24gRUZJIGF0IGFsbCBhbmQKICAg Y291bGQgYmUgdXNlZCBvbiBsZWdhY3kgQklPUyBwbGF0Zm9ybXMgaWYgd2UgbmVlZCBpdC4gSG93 ZXZlciwgd2UKICAgbXVzdCBjYXJlZnVsbHkgY2hvb3NlIHNpemUgb2YgdGhpcyBwb29sLiBXZSBk byBub3Qgd2FudCBpbmNyZWFzZSBYZW4KICAgYmluYXJ5IHNpemUgdG9vIG11Y2ggYW5kIHdhc3Rl IHRvbyBtdWNoIG1lbW9yeSBidXQgYWxzbyB3ZSBtdXN0IGZpdAogICBhdCBsZWFzdCBtZW1vcnkg bWFwIG9uIHg4NiBFRkkgcGxhdGZvcm1zLiBBcyBJIHNhdyBvbiBzbWFsbCBtYWNoaW5lLAogICBl LmcuIElCTSBTeXN0ZW0geDM1NTAgTTIgd2l0aCA4IEdpQiBSQU0sIG1lbW9yeSBtYXAgbWF5IGNv bnRhaW4gbW9yZQogICB0aGFuIDIwMCBlbnRyaWVzLiBFdmVyeSBlbnRyeSBvbiB4ODYtNjQgcGxh dGZvcm0gaXMgNDAgYnl0ZXMgaW4gc2l6ZS4KICAgU28sIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCBt b3JlIHRoYW4gOCBLaUIgZm9yIEVGSSBtZW1vcnkgbWFwIG9ubHkuCiAgIEFkZGl0aW9uYWxseSwg aWYgd2UgdXNlIHRoaXMgbWVtb3J5IHBvb2wgZm9yIFhlbiBhbmQgbW9kdWxlcyBjb21tYW5kCiAg IGxpbmUgc3RvcmFnZSAoaXQgd291bGQgYmUgdXNlZCB3aGVuIHhlbi5lZmkgaXMgZXhlY3V0ZWQg YXMgRUZJIGFwcGxpY2F0aW9uKQogICB0aGVuIHdlIHNob3VsZCBhZGQsIEkgdGhpbmssIGFib3V0 IDEgS2lCLiBJbiB0aGlzIGNhc2UsIHRvIGJlIG9uIHNhZmUKICAgc2lkZSwgd2Ugc2hvdWxkIGFz c3VtZSBhdCBsZWFzdCA2NCBLaUIgcG9vbCBmb3IgZWFybHkgbWVtb3J5IGFsbG9jYXRpb25zLgog ICBXaGljaCBpcyBhYm91dCA0IHRpbWVzIG9mIG91ciBlYXJsaWVyIGNhbGN1bGF0aW9ucy4gSG93 ZXZlciwgZHVyaW5nCiAgIGRpc2N1c3Npb24gb24gWGVuLWRldmVsIEphbiBCZXVsaWNoIHN1Z2dl c3RlZCB0aGF0IGp1c3QgaW4gY2FzZSB3ZSBzaG91bGQKICAgdXNlIDEgTWlCIG1lbW9yeSBwb29s IGxpa2UgaXQgaXMgaW4gb3JpZ2luYWwgcGxhY2Vfc3RyaW5nKCkgaW1wbGVtZW50YXRpb24uCiAg IFNvLCBsZXQncyB1c2UgMSBNaUIgYXMgaXQgd2FzIHByb3Bvc2VkLiBJZiB3ZSB0aGluayB0aGF0 IHdlIHNob3VsZCBub3QKICAgd2FzdGUgdW5hbGxvY2F0ZWQgbWVtb3J5IGluIHRoZSBwb29sIG9u IHJ1bm5pbmcgc3lzdGVtIHRoZW4gd2UgY2FuIG1hcmsKICAgdGhpcyByZWdpb24gYXMgX19pbml0 ZGF0YSBhbmQgbW92ZSBhbGwgcmVxdWlyZWQgZGF0YSB0byBkeW5hbWljYWxseQogICBhbGxvY2F0 ZWQgcGxhY2VzIHNvbWV3aGVyZSBpbiBfX3N0YXJ0X3hlbigpLgoKMmEpIFdlIGNvdWxkIHB1dCBt ZW1vcnkgcG9vbCBpbnRvIC5ic3MucGFnZV9hbGlnbmVkIHNlY3Rpb24uIFRoZW4gYWxsb2NhdGUK ICAgIG1lbW9yeSBjaHVua3Mgc3RhcnRpbmcgZnJvbSB0aGUgbG93ZXN0IGFkZHJlc3MuIEFmdGVy IGluaXQgcGhhc2Ugd2UgY2FuCiAgICBmcmVlIHVudXNlZCBwb3J0aW9uIG9mIHRoZSBtZW1vcnkg cG9vbCBhcyBpbiBjYXNlIG9mIC5pbml0LnRleHQgb3IgLmluaXQuZGF0YQogICAgc2VjdGlvbnMu IFRoaXMgd2F5IHdlIGRvIG5vdCBuZWVkIHRvIGFsbG9jYXRlIGFueSBzcGFjZSBpbiBpbWFnZSBm aWxlIGFuZAogICAgZnJlZWluZyBvZiB1bnVzZWQgYXJlYSBpbiB0aGUgbWVtb3J5IHBvb2wgaXMg dmVyeSBzaW1wbGUuCgpOb3cgIzJhIHNvbHV0aW9uIGlzIGltcGxlbWVudGVkIGJlY2F1c2UgaXQg aXMgcXVpdGUgc2ltcGxlIGFuZCByZXF1aXJlcwpsaW1pdGVkIG51bWJlciBvZiBjaGFuZ2VzLCBl c3BlY2lhbGx5IGluIF9fc3RhcnRfeGVuKCkuCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgS2lwZXIg PGRhbmllbC5raXBlckBvcmFjbGUuY29tPgotLS0KdjQgLSBzdWdnZXN0aW9ucy9maXhlczoKICAg LSBtb3ZlIGZyb20gIzIgc29sdXRpb24gdG8gIzJhIHNvbHV0aW9uLAogICAtIGltcHJvdmUgY29t bWl0IG1lc3NhZ2UuCi0tLQogeGVuL2FyY2gveDg2L2VmaS9lZmktYm9vdC5oIHwgICA1OCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiB4ZW4vYXJjaC94ODYvZWZp L3N0dWIuYyAgICAgfCAgICA0ICsrKwogeGVuL2FyY2gveDg2L3NldHVwLmMgICAgICAgIHwgICAg NSArKy0tCiB4ZW4vaW5jbHVkZS94ZW4vZWZpLmggICAgICAgfCAgICAxICsKIDQgZmlsZXMgY2hh bmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2VmaS9lZmktYm9vdC5oIGIveGVuL2FyY2gveDg2L2VmaS9lZmktYm9vdC5oCmlu ZGV4IDFmYTllNDcuLjNmODdiN2MgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9lZmkvZWZpLWJv b3QuaAorKysgYi94ZW4vYXJjaC94ODYvZWZpL2VmaS1ib290LmgKQEAgLTEwMyw5ICsxMDMsNTYg QEAgc3RhdGljIHZvaWQgX19pbml0IHJlbG9jYXRlX3RyYW1wb2xpbmUodW5zaWduZWQgbG9uZyBw aHlzKQogICAgICAgICAqKHUxNiAqKSgqdHJhbXBvbGluZV9wdHIgKyAobG9uZyl0cmFtcG9saW5l X3B0cikgPSBwaHlzID4+IDQ7CiB9CiAKKyNkZWZpbmUgRUJNQUxMT0NfU0laRQlNQigxKQorCitz dGF0aWMgY2hhciBfX3NlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikgZWJtYWxsb2NfbWVtW0VC TUFMTE9DX1NJWkVdOworc3RhdGljIGNoYXIgX19pbml0ZGF0YSAqZWJtYWxsb2NfZnJlZSA9IE5V TEw7CisKKy8qIEVGSSBib290IGFsbG9jYXRvci4gKi8KK3N0YXRpYyB2b2lkIF9faW5pdCAqZWJt YWxsb2Moc2l6ZV90IHNpemUpCit7CisgICAgdm9pZCAqcHRyOworCisgICAgLyoKKyAgICAgKiBJ bml0IGVibWFsbG9jX2ZyZWUgb24gcnVudGltZS4gU3RhdGljIGluaXRpYWxpemF0aW9uCisgICAg ICogd2lsbCBub3Qgd29yayBiZWNhdXNlIGl0IHB1dHMgdmlydHVhbCBhZGRyZXNzIHRoZXJlLgor ICAgICAqLworICAgIGlmICggZWJtYWxsb2NfZnJlZSA9PSBOVUxMICkKKyAgICAgICAgZWJtYWxs b2NfZnJlZSA9IGVibWFsbG9jX21lbTsKKworICAgIHB0ciA9IGVibWFsbG9jX2ZyZWU7CisKKyAg ICBlYm1hbGxvY19mcmVlICs9IHNpemU7CisKKyAgICBpZiAoIGVibWFsbG9jX2ZyZWUgLSBlYm1h bGxvY19tZW0gPiBzaXplb2YoZWJtYWxsb2NfbWVtKSApCisgICAgICAgIGJsZXhpdChMIk91dCBv ZiBzdGF0aWMgbWVtb3J5XHJcbiIpOworCisgICAgcmV0dXJuIHB0cjsKK30KKwordm9pZCBfX2lu aXQgZnJlZV9lYm1hbGxvY191bnVzZWRfbWVtKHZvaWQpCit7CisgICAgdW5zaWduZWQgbG9uZyBz dGFydCwgZW5kOworCisgICAgaWYgKCBlYm1hbGxvY19mcmVlICkKKyAgICB7CisgICAgICAgIHN0 YXJ0ID0gKHVuc2lnbmVkIGxvbmcpZWJtYWxsb2NfZnJlZSAtIHhlbl9waHlzX3N0YXJ0OworICAg ICAgICBzdGFydCA9IFBBR0VfQUxJR04oc3RhcnQgKyBYRU5fVklSVF9TVEFSVCk7CisgICAgfQor ICAgIGVsc2UKKyAgICAgICAgc3RhcnQgPSAodW5zaWduZWQgbG9uZyllYm1hbGxvY19tZW07CisK KyAgICBlbmQgPSAodW5zaWduZWQgbG9uZyllYm1hbGxvY19tZW0gKyBzaXplb2YoZWJtYWxsb2Nf bWVtKTsKKworICAgIGRlc3Ryb3lfeGVuX21hcHBpbmdzKHN0YXJ0LCBlbmQpOworICAgIGluaXRf eGVuaGVhcF9wYWdlcyhfX3BhKHN0YXJ0KSwgX19wYShlbmQpKTsKKworICAgIHByaW50aygiRnJl ZWQgJWx1a0IgdW51c2VkIEJTUyBtZW1vcnlcbiIsIChlbmQgLSBzdGFydCkgPj4gMTApOworfQor CiBzdGF0aWMgdm9pZCBfX2luaXQgcGxhY2Vfc3RyaW5nKHUzMiAqYWRkciwgY29uc3QgY2hhciAq cykKIHsKLSAgICBzdGF0aWMgY2hhciAqX19pbml0ZGF0YSBhbGxvYyA9IHN0YXJ0OworICAgIGNo YXIgKmFsbG9jID0gTlVMTDsKIAogICAgIGlmICggcyAmJiAqcyApCiAgICAgewpAQCAtMTEzLDcg KzE2MCw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwbGFjZV9zdHJpbmcodTMyICphZGRyLCBjb25z dCBjaGFyICpzKQogICAgICAgICBjb25zdCBjaGFyICpvbGQgPSAoY2hhciAqKShsb25nKSphZGRy OwogICAgICAgICBzaXplX3QgbGVuMiA9ICphZGRyID8gc3RybGVuKG9sZCkgKyAxIDogMDsKIAot ICAgICAgICBhbGxvYyAtPSBsZW4xICsgbGVuMjsKKyAgICAgICAgYWxsb2MgPSBlYm1hbGxvYyhs ZW4xICsgbGVuMik7CiAgICAgICAgIC8qCiAgICAgICAgICAqIEluc2VydCBuZXcgc3RyaW5nIGJl Zm9yZSBhbHJlYWR5IGV4aXN0aW5nIG9uZS4gVGhpcyBpcyBuZWVkZWQKICAgICAgICAgICogZm9y IG9wdGlvbnMgcGFzc2VkIG9uIHRoZSBjb21tYW5kIGxpbmUgdG8gb3ZlcnJpZGUgb3B0aW9ucyBm cm9tCkBAIC0xOTYsMTIgKzI0Myw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBlZmlfYXJjaF9wcm9j ZXNzX21lbW9yeV9tYXAoRUZJX1NZU1RFTV9UQUJMRSAqU3lzdGVtVGFibGUsCiAKIHN0YXRpYyB2 b2lkICpfX2luaXQgZWZpX2FyY2hfYWxsb2NhdGVfbW1hcF9idWZmZXIoVUlOVE4gbWFwX3NpemUp CiB7Ci0gICAgcGxhY2Vfc3RyaW5nKCZtYmkubWVtX3VwcGVyLCBOVUxMKTsKLSAgICBtYmkubWVt X3VwcGVyIC09IG1hcF9zaXplOwotICAgIG1iaS5tZW1fdXBwZXIgJj0gLV9fYWxpZ25vZl9fKEVG SV9NRU1PUllfREVTQ1JJUFRPUik7Ci0gICAgaWYgKCBtYmkubWVtX3VwcGVyIDwgeGVuX3BoeXNf c3RhcnQgKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gKHZvaWQgKikobG9uZylt YmkubWVtX3VwcGVyOworICAgIHJldHVybiBlYm1hbGxvYyhtYXBfc2l6ZSk7CiB9CiAKIHN0YXRp YyB2b2lkIF9faW5pdCBlZmlfYXJjaF9wcmVfZXhpdF9ib290KHZvaWQpCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvZWZpL3N0dWIuYyBiL3hlbi9hcmNoL3g4Ni9lZmkvc3R1Yi5jCmluZGV4IDNl MWQxZWEuLjJkYjNhNDYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9lZmkvc3R1Yi5jCisrKyBi L3hlbi9hcmNoL3g4Ni9lZmkvc3R1Yi5jCkBAIC00LDYgKzQsMTAgQEAKICNpbmNsdWRlIDx4ZW4v bGliLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KIAordm9pZCBfX2luaXQgZnJlZV9lYm1hbGxv Y191bnVzZWRfbWVtKHZvaWQpCit7Cit9CisKIHZvaWQgX19pbml0IGVmaV9pbml0X21lbW9yeSh2 b2lkKSB7IH0KIAogdm9pZCBlZmlfdXBkYXRlX2w0X3BndGFibGUodW5zaWduZWQgaW50IGw0aWR4 LCBsNF9wZ2VudHJ5X3QgbDRlKSB7IH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5j IGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggMWU4ZGZhNS4uNmUwY2M2OSAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMKQEAgLTUx OSw2ICs1MTksOCBAQCBzdGF0aWMgdm9pZCBub2lubGluZSBpbml0X2RvbmUodm9pZCkKIAogICAg IHN5c3RlbV9zdGF0ZSA9IFNZU19TVEFURV9hY3RpdmU7CiAKKyAgICBmcmVlX2VibWFsbG9jX3Vu dXNlZF9tZW0oKTsKKwogICAgIC8qIE1VU1QgYmUgZG9uZSBwcmlvciB0byByZW1vdmluZyAuaW5p dCBkYXRhLiAqLwogICAgIHVucmVnaXN0ZXJfaW5pdF92aXJ0dWFsX3JlZ2lvbigpOwogCkBAIC0x MDc3LDggKzEwNzksNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25l ZCBsb25nIG1iaV9wKQogCiAgICAgaWYgKCAheGVuX3BoeXNfc3RhcnQgKQogICAgICAgICBwYW5p YygiTm90IGVub3VnaCBtZW1vcnkgdG8gcmVsb2NhdGUgWGVuLiIpOwotICAgIHJlc2VydmVfZTgy MF9yYW0oJmJvb3RfZTgyMCwgZWZpX2VuYWJsZWQoRUZJX0JPT1QpID8gbWJpLT5tZW1fdXBwZXIg OiBfX3BhKCZfc3RhcnQpLAotICAgICAgICAgICAgICAgICAgICAgX19wYSgmX2VuZCkpOworICAg IHJlc2VydmVfZTgyMF9yYW0oJmJvb3RfZTgyMCwgX19wYSgmX3N0YXJ0KSwgX19wYSgmX2VuZCkp OwogCiAgICAgLyogTGF0ZSBrZXhlYyByZXNlcnZhdGlvbiAoZHluYW1pYyBzdGFydCBhZGRyZXNz KS4gKi8KICAgICBrZXhlY19yZXNlcnZlX2FyZWEoJmJvb3RfZTgyMCk7CmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS94ZW4vZWZpLmggYi94ZW4vaW5jbHVkZS94ZW4vZWZpLmgKaW5kZXggYmExNDQ3 Mi4uNDY3YmQ3YyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2VmaS5oCisrKyBiL3hlbi9p bmNsdWRlL3hlbi9lZmkuaApAQCAtMzAsNiArMzAsNyBAQCB1bmlvbiBjb21wYXRfcGZfZWZpX2lu Zm87CiBzdHJ1Y3QgeGVucGZfZWZpX3J1bnRpbWVfY2FsbDsKIHN0cnVjdCBjb21wYXRfcGZfZWZp X3J1bnRpbWVfY2FsbDsKIAordm9pZCBmcmVlX2VibWFsbG9jX3VudXNlZF9tZW0odm9pZCk7CiB2 b2lkIGVmaV9pbml0X21lbW9yeSh2b2lkKTsKIGJvb2xfdCBlZmlfcnNfdXNpbmdfcGd0YWJsZXMo dm9pZCk7CiB1bnNpZ25lZCBsb25nIGVmaV9nZXRfdGltZSh2b2lkKTsKLS0gCjEuNy4xMC40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==