From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3 2/7] libxl: add new hotplug interface support to hotplug script callers Date: Wed, 17 Apr 2013 17:47:22 +0200 Message-ID: <1366213647-38638-3-git-send-email-roger.pau@citrix.com> References: <1366213647-38638-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1366213647-38638-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org, ian.jackson@eu.citrix.com Cc: Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org QWRkIHN1cHBvcnQgdG8gY2FsbCBob3RwbHVnIHNjcmlwdHMgdGhhdCB1c2UgdGhlIG5ldyBob3Rw bHVnIGludGVyZmFjZQp0byB0aGUgbG93LWxldmVsIGZ1bmN0aW9ucyBpbiBjaGFyZ2Ugb2YgY2Fs bGluZyBob3RwbHVnIHNjcmlwdHMuCgpsaWJ4bF9fcHJlcGFyZV9hb19kZXZpY2Ugc2V0cyB0aGUg aG90cGx1ZyB2ZXJzaW9uIHRvIDEsIGluIGxhdGVyCnBhdGNoZXMgaG90cGx1ZyB2ZXJzaW9uIHdp bGwgYmUgc2V0IHRvIDIgYnkgdGhlIGNhbGxlciB0byB1c2UgdGhpcwpuZXcgaG90cGx1ZyBjYWxs aW5nIGNvbnZlbnRpb24uCgpBbHNvIGFkZCBhIGRvY3VtZW50IGRlc2NyaWJpbmcgdGhlIG5ldyBp bnRlcmZhY2UuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0 cml4LmNvbT4KQ2M6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+CkNjOiBJ YW4gSmFja3NvbiA8aWFuLmphY2tzb25AY2l0cml4LmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjI6 CiAqIFJlc2VydmUgSE9UUExVR19QQVRIL2xpYnhsXyogZm9yIGZ1dHVyZSB0b29sc3RhY2sgZW50 cmllcy4KICogRml4IGdyYW1tYXIgZmF1bHQgaW4gZG9jdW1lbnRhdGlvbi4KLS0tCiBkb2NzL21p c2MvbGlieGwtaG90cGx1Zy1pbnRlcmZhY2UudHh0IHwgIDE4NCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jICAgICAgICAgICAgfCAg IDE2ICsrKy0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgICAgICAgfCAgIDIwICsr KysKIHRvb2xzL2xpYnhsL2xpYnhsX2xpbnV4LmMgICAgICAgICAgICAgfCAgIDYzICsrKysrKysr Ky0tLQogdG9vbHMvbGlieGwvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsICB8ICAgIDUgKwogNSBm aWxlcyBjaGFuZ2VkLCAyNzEgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgZG9jcy9taXNjL2xpYnhsLWhvdHBsdWctaW50ZXJmYWNlLnR4dAoKZGlmZiAt LWdpdCBhL2RvY3MvbWlzYy9saWJ4bC1ob3RwbHVnLWludGVyZmFjZS50eHQgYi9kb2NzL21pc2Mv bGlieGwtaG90cGx1Zy1pbnRlcmZhY2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjZkNjcwMjUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL21pc2MvbGlieGwtaG90cGx1 Zy1pbnRlcmZhY2UudHh0CkBAIC0wLDAgKzEsMTg0IEBACisgICAgICAgICAgICAgICAgICAgICAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgTElCWEwgSE9UUExV RyBJTlRFUkZBQ0UKKyAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisKK1RoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHRoZSBuZXcgbGlieGwgaG90cGx1ZyBpbnRlcmZh Y2UuIFRoaXMgbmV3CitpbnRlcmZhY2UgaGFzIGJlZW4gZGVzaWduZWQgdG8gb3BlcmF0ZSBiZXR0 ZXIgd2l0aCBjb21wbGV4IGhvdHBsdWcKK3NjcmlwdHMsIHRoYXQgbmVlZCB0byBwZXJmb3JtIHNl dmVyYWwgb3BlcmF0aW9ucyBhbmQgY2FuIHRha2UgYQorY29uc2lkZXJhYmxlIHRpbWUgdG8gZXhl Y3V0ZS4KKworSG90cGx1ZyBzY3JpcHRzIGFyZSBleHBlY3RlZCB0byB0YWtlIGEgcGFyYW1ldGVy LCBwYXNzZWQgYnkgdGhlIGNhbGxlcgorYW5kIHByb3ZpZGUgYSBibG9jayBkZXZpY2UgYXMgb3V0 cHV0LCB0aGF0IHdpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIGd1ZXN0LgorCisKKworPT09PT09PT09 PT09PT09PT09PT09CitFTlZJUk9OTUVOVCBWQVJJQUJMRVMKKz09PT09PT09PT09PT09PT09PT09 PQorCisKK1RoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpbGwgYmUgc2V0IGJl Zm9yZSBjYWxsaW5nCit0aGUgaG90cGx1ZyBzY3JpcHQuCisKK1RoZSBob3RwbHVnIHNjcmlwdCB3 aWxsIGhhdmUgd3JpdGUgcGVybWlzc2lvbnMgb24gdGhpcyB4ZW5zdG9yZSBwYXRocy4KKworCitI T1RQTFVHX1BBVEgKKy0tLS0tLS0tLS0tLQorCitQb2ludHMgdG8gdGhlIHhlbnN0b3JlIGRpcmVj dG9yeSB0aGF0IGhvbGRzIGluZm9ybWF0aW9uIHJlbGF0aXZlCit0byB0aGlzIGhvdHBsdWcgc2Ny aXB0LiBBdCBwcmVzZW50IG9ubHkgb25lIHBhcmFtZXRlciBpcyBwYXNzZWQgYnkKK3RoZSB0b29s c3RhY2ssIHRoZSAicGFyYW1zIiB4ZW5zdG9yZSBlbnRyeSB3aGljaCBjb250YWlucyB0aGUgInRh cmdldCIKK2xpbmUgc3BlY2lmaWVkIGluIHRoZSBkaXNrc3BlYyB4bCBkaXNrIGNvbmZpZ3VyYXRp b24gKHBkZXZfcGF0aCBpbgorbGlieGxfZGV2aWNlX2Rpc2sgc3RydWN0KS4KKworVGhpcyB4ZW5z dG9yZSBkaXJlY3Rvcnkgd2lsbCBiZSB1c2VkIHRvIGNvbW11bmljYXRlIGJldHdlZW4gdGhlCito b3RwbHVnIHNjcmlwdCBhbmQgdGhlIHRvb2xzdGFjaywgYW5kIGl0IGNhbiBhbHNvIGJlIHVzZWQg YnkgdGhlCitob3RwbHVnIHNjcmlwdCB0byBzdG9yZSB0ZW1wb3JhcnkgaW5mb3JtYXRpb24uIFRo aXMgZGlyZWN0b3J5IGlzIGNyZWF0ZWQKK2JlZm9yZSBjYWxsaW5nIHRoZSAicHJlcGFyZSIgb3Bl cmF0aW9uLCBhbmQgdGhlIHRvb2xzdGFjayBndWFyYW50ZWVzCit0aGF0IGl0IHdpbGwgbm90IGJl IHJlbW92ZWQgYmVmb3JlIHRoZSAidW5wcmVwYXJlIiBvcGVyYXRpb24gaGFzIGJlZW4KK2Zpbmlz aGVkLiBBZnRlciB0aGF0LCB0aGUgdG9vbHN0YWNrIHdpbGwgdGFrZSB0aGUgYXBwcm9wcmlhdGUg YWN0aW9ucwordG8gcmVtb3ZlIGl0LiBUaGUgdG9vbHN0YWNrIGd1YXJhbnRlZXMgdGhhdCBIT1RQ TFVHX1BBVEggd2lsbCBhbHdheXMKK3BvaW50IHRvIGEgdmFsaWQgeGVuc3RvcmUgcGF0aCBmb3Ig YWxsIG9wZXJhdGlvbnMuCisKK1RoZSBwYXRoIG9mIHRoaXMgZGlyZWN0b3J5IGZvbGxvd3MgdGhl IHN5bnRheDoKKworL2xvY2FsL2RvbWFpbi88bG9jYWxfZG9taWQ+L2xpYnhsL2hvdHBsdWcvdmJk LzxndWVzdF9kb21pZD4vPGRldmljZV9pZD4KKworKE5vdGUgdGhhdCB0aGVyZSBpcyBubyBlbmQg c2xhc2ggYXBwZW5kZWQgdG8gSE9UUExVR19QQVRIKQorCitUaGUgaG90cGx1ZyBzY3JpcHQgc2hv dWxkIHRha2Ugc3BlY2lhbCBjYXJlIG5vdCB0byBzdG9yZSBhcmJpdHJhcnkKK3ZhbHVlcyBpbiB0 aGUgZm9sbG93aW5nIGVudHJpZXM6CisKK0hPVFBMVUdfUEFUSC92ZXJzaW9uCitIT1RQTFVHX1BB VEgvcGRldgorCitUaGlzIGFyZSB1c2VkIGZvciBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIGhv dHBsdWcgc2NyaXB0IGFuZCB0aGUKK3Rvb2xzdGFjaywgYW5kIHNob3VsZCBvbmx5IGJlIHdyaXR0 ZW4gdG8gd2hlbiB0aGUgcGFyYW1ldGVyIHBhc3NlZAordG8gdGhlIGhvdHBsdWcgc2NyaXB0IHJl cXVpcmVzIGl0LgorCitBbHNvLCB0aGUgdG9vbHN0YWNrIHJlc2VydmVzIHRoZSByaWdodCB0byB1 c2UgYW55IG9mIHRoZSBmb2xsb3dpbmcgZW50cmllcywKK3RoYXQgc2hvdWxkIG5vdCBiZSB1c2Vk IHRvIHN0b3JlIGFyYml0cmFyeSBkYXRhIGZyb20gdGhlIGhvdHBsdWcgc2NyaXB0OgorCitIT1RQ TFVHX1BBVEgvbGlieGxfKgorCisKK0JBQ0tFTkRfUEFUSAorLS0tLS0tLS0tLS0tCisKK1BvaW50 cyB0byB0aGUgeGVuc3RvcmUgYmFja2VuZCBwYXRoIG9mIHRoZSBjb3JyZXNwb25kaW5nIGJsb2Nr IGRldmljZS4KK1NpbmNlIGhvdHBsdWcgc2NyaXB0cyBhcmUgYWx3YXlzIGV4ZWN1dGVkIGluIHRo ZSBEb21haW4gdGhhdCBhY3RzIGFzCitiYWNrZW5kIGZvciBhIGRldmljZSwgaXQgd2lsbCBhbHdh eXMgaGF2ZSB0aGUgZm9sbG93aW5nIHN5bnRheDoKKworL2xvY2FsL2RvbWFpbi88bG9jYWxfZG9t YWluPi9iYWNrZW5kL3ZiZC88Z3Vlc3RfZG9taWQ+LzxkZXZpY2VfaWQ+CisKKyhOb3RlIHRoYXQg dGhlcmUgaXMgbm8gZW5kIHNsYXNoIGFwcGVuZGVkIHRvIEJBQ0tFTkRfUEFUSCkKKworVGhpcyBl bnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0IGZvciBhbGwgb3BlcmF0aW9ucywgc2luY2Ug c29tZQoraG90cGx1ZyBvcGVyYXRpb25zIGFyZSBleGVjdXRlZCBiZWZvcmUgdGhlIGJhY2tlbmQg eGVuc3RvcmUgaXMgc2V0IHVwLgorCisKKworPT09PT09PT09PT09PT09PT09PT09PT0KK0NPTU1B TkQgTElORSBQQVJBTUVURVJTCis9PT09PT09PT09PT09PT09PT09PT09PQorCisKK1NjcmlwdCB3 aWxsIGJlIGNhbGxlZCB3aXRoIG9ubHkgb25lIHBhcmFtZXRlciwgdGhhdCBpcyBlaXRoZXIgcHJl cGFyZSwKK2FkZCwgcmVtb3ZlLCB1bnByZXBhcmUsIGxvY2FsYXR0YWNoIG9yIGxvY2FsZGV0YWNo LgorCitWRVJTSU9OCistLS0tLS0tCisKK09wZXJhdGlvbiB1c2VkIHRvIHJlcXVlc3QgdGhlIHZl cnNpb24gdGhpcyBob3RwbHVnIHNjcmlwdCBzdXBwb3J0cy4gRmFpbHVyZQordG8gcGVyZm9ybSB0 aGlzIG9wZXJhdGlvbiB3aWxsIHJlc3VsdCBpbiBob3RwbHVnIHNjcmlwdCBkZXRlY3RlZCBhcyB2 ZXJzaW9uIDEuCisKK0JBQ0tFTkRfUEFUSDogbm90IHZhbGlkCisKK0V4cGVjdGVkIG91dHB1dDoK K0hPVFBMR1VfUEFUSC92ZXJzaW9uID0gdmVyc2lvbiBzdXBwb3J0ZWQgYnkgdGhlIGhvdHBsdWcg c2NyaXB0CisKKworUFJFUEFSRQorLS0tLS0tLQorCitUaGlzIGlzIHRoZSBmaXJzdCBvcGVyYXRp b24gdGhhdCB0aGUgaG90cGx1ZyBzY3JpcHQgd2lsbCBiZSByZXF1ZXN0ZWQgdG8KK2V4ZWN1dGUu IFRoaXMgb3BlcmF0aW9uIGlzIGV4ZWN1dGVkIGJlZm9yZSB0aGUgZGlzayBpcyBjb25uZWN0ZWQs IHRvCitnaXZlIHRoZSBob3RwbHVnIHNjcmlwdCB0aGUgY2hhbmNlIHRvIG9mZmxvYWQgc29tZSB3 b3JrIGZyb20gdGhlICJhZGQiCitvcGVyYXRpb24sIHRoYXQgaXMgcGVyZm9ybWVkIGxhdGVyLgor CitCQUNLRU5EX1BBVEg6IG5vdCB2YWxpZAorCitFeHBlY3RlZCBvdXRwdXQ6CitOb25lCisKKwor QURECistLS0KKworVGhpcyBvcGVyYXRpb24gc2hvdWxkIGNvbm5lY3QgdGhlIGRldmljZSB0byB0 aGUgZG9tYWluLiBXaWxsIG9ubHkgYmUgY2FsbGVkCithZnRlciB0aGUgInByZXBhcmUiIG9wZXJh dGlvbiBoYXMgZmluaXNoZWQgc3VjY2Vzc2Z1bGx5LgorCitCQUNLRU5EX1BBVEg6IHZhbGlkCisK K0V4cGVjdGVkIG91dHB1dDoKK0JBQ0tFTkRfUEFUSC9waHlzaWNhbC1kZXZpY2UgPSBibG9jayBk ZXZpY2UgbWFqb3I6bWlub3IKK0JBQ0tFTkRfUEFUSC9wYXJhbXMgPSBibG9jayBkZXZpY2UgcGF0 aAorSE9UUExVR19QQVRIL3BkZXYgPSBibG9jayBkZXZpY2UgcGF0aAorCisKK1JFTU9WRQorLS0t LS0tCisKKworRGlzY29ubmVjdHMgYSBibG9jayBkZXZpY2UgZnJvbSBhIGRvbWFpbi4gV2lsbCBv bmx5IGJlIGNhbGxlZAorYWZ0ZXIgdGhlICJwcmVwYXJlIiBvcGVyYXRpb24gaGFzIGZpbmlzaGVk IHN1Y2Nlc3NmdWxseS4gSW1wbGVtZW50YXRpb25zCitzaG91bGQgdGFrZSBpbnRvIGFjY291bnQg dGhhdCB0aGUgInJlbW92ZSIgb3BlcmF0aW9uIHdpbGwgYWxzbyBiZSBjYWxsZWQgaWYKK3RoZSAi YWRkIiBvcGVyYXRpb24gaGFzIGZhaWxlZC4KKworQkFDS0VORF9QQVRIOiB2YWxpZAorCitFeHBl Y3RlZCBvdXRwdXQ6CitOb25lCisKKworTE9DQUxBVFRBQ0gKKy0tLS0tLS0tLS0tCisKKworQ3Jl YXRlcyBhIGJsb2NrIGRldmljZSBpbiB0aGUgY3VycmVudCBkb21haW4gdGhhdCBwb2ludHMgdG8g dGhlIGd1ZXN0CitkaXNrIGRldmljZS4gV2lsbCBvbmx5IGJlIGNhbGxlZCBhZnRlciB0aGUgInBy ZXBhcmUiIG9wZXJhdGlvbiBoYXMKK2ZpbmlzaGVkIHN1Y2Nlc3NmdWxseS4KKworQkFDS0VORF9Q QVRIOiBub3QgdmFsaWQKKworRXhwZWN0ZWQgb3V0cHV0OgorSE9UUExVR19QQVRIL3BkZXYgPSBi bG9jayBkZXZpY2UgcGF0aAorCisKK0xPQ0FMREVUQUNICistLS0tLS0tLS0tLQorCisKK0Rpc2Nv bm5lY3RzIGEgZGV2aWNlIChwcmV2aW91c2x5IGNvbm5lY3RlZCB3aXRoIHRoZSBsb2NhbGF0dGFj aAorb3BlcmF0aW9uKSBmcm9tIHRoZSBjdXJyZW50IGRvbWFpbi4gV2lsbCBvbmx5IGJlIGNhbGxl ZCBhZnRlcgordGhlICJwcmVwYXJlIiBvcGVyYXRpb24gaGFzIGZpbmlzaGVkIHN1Y2Nlc3NmdWxs eS4gSW1wbGVtZW50YXRpb25zCitzaG91bGQgdGFrZSBpbnRvIGFjY291bnQgdGhhdCB0aGUgImxv Y2FsZGV0YWNoIiBvcGVyYXRpb24gd2lsbAorYWxzbyBiZSBjYWxsZWQgaWYgdGhlICJsb2NhbGF0 dGFjaCIgb3BlcmF0aW9uIGhhcyBmYWlsZWQuCisKK0JBQ0tFTkRfUEFUSDogbm90IHZhbGlkCisK K0V4cGVjdGVkIG91dHB1dDoKK05vbmUKKworCitVTlBSRVBBUkUKKy0tLS0tLS0tLQorCisKK1Bl cmZvcm1zIHRoZSBuZWNlc3NhcnkgYWN0aW9ucyB0byB1bnByZXBhcmUgdGhlIGRldmljZS4KKwor QkFDS0VORF9QQVRIOiBub3QgdmFsaWQKKworRXhwZWN0ZWQgb3V0cHV0OgorTm9uZQpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZGV2aWNlLmMgYi90b29scy9saWJ4bC9saWJ4bF9kZXZp Y2UuYwppbmRleCAwNDRjYWM1Li4wMjRiYzFmIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF9kZXZpY2UuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYwpAQCAtODMsNiArODMs MTQgQEAgb3V0OgogICAgIHJldHVybiByYzsKIH0KIAorY2hhciAqbGlieGxfX2RldmljZV94c19o b3RwbHVnX3BhdGgobGlieGxfX2djICpnYywgbGlieGxfX2RldmljZSAqZGV2KQoreworICAgIHJl dHVybiBHQ1NQUklOVEYoIi9sb2NhbC9kb21haW4vJXUvbGlieGwvaG90cGx1Zy8ldS8lcy8ldSIs CisgICAgICAgICAgICAgICAgICAgICBkZXYtPmJhY2tlbmRfZG9taWQsIGRldi0+ZG9taWQsCisg ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKGRldi0+YmFj a2VuZF9raW5kKSwKKyAgICAgICAgICAgICAgICAgICAgIGRldi0+ZGV2aWQpOworfQorCiBpbnQg bGlieGxfX2RldmljZV9nZW5lcmljX2FkZChsaWJ4bF9fZ2MgKmdjLCB4c190cmFuc2FjdGlvbl90 IHQsCiAgICAgICAgIGxpYnhsX19kZXZpY2UgKmRldmljZSwgY2hhciAqKmJlbnRzLCBjaGFyICoq ZmVudHMpCiB7CkBAIC00MTAsNiArNDE4LDcgQEAgdm9pZCBsaWJ4bF9fcHJlcGFyZV9hb19kZXZp Y2UobGlieGxfX2FvICphbywgbGlieGxfX2FvX2RldmljZSAqYW9kZXYpCiAgICAgYW9kZXYtPnJj ID0gMDsKICAgICBhb2Rldi0+ZGV2ID0gTlVMTDsKICAgICBhb2Rldi0+aG90cGx1Zy5udW1fZXhl YyA9IDA7CisgICAgYW9kZXYtPmhvdHBsdWcudmVyc2lvbiA9IDE7CiAgICAgLyogSW5pdGlhbGl6 ZSB0aW1lciBmb3IgUUVNVSBCb2RnZSBhbmQgaG90cGx1ZyBleGVjdXRpb24gKi8KICAgICBsaWJ4 bF9fZXZfdGltZV9pbml0KCZhb2Rldi0+dGltZW91dCk7CiAgICAgYW9kZXYtPmFjdGl2ZSA9IDE7 CkBAIC05NzQsNyArOTgzLDEyIEBAIHN0YXRpYyB2b2lkIGRldmljZV9ob3RwbHVnX2NoaWxkX2Rl YXRoX2NiKGxpYnhsX19lZ2MgKmVnYywKIAogICAgIGRldmljZV9ob3RwbHVnX2NsZWFuKGdjLCBh b2Rldik7CiAKLSAgICBpZiAoc3RhdHVzKSB7CisgICAgaWYgKHN0YXR1cyAmJiBhb2Rldi0+YWN0 aW9uICE9IExJQlhMX19ERVZJQ0VfQUNUSU9OX1ZFUlNJT04pIHsKKyAgICAgICAgLyogSWYgYSBo b3RwbHVnIHNjcmlwdCByZXR1cm5zIGFuIGVycm9yIHdoZW4gY2FsbGVkCisgICAgICAgICAqIHdp dGggdGhlICJ2ZXJzaW9uIiBhcmd1bWVudCBpdCBtZWFucyBpdCBpcyB1c2luZyB0aGUgb2xkCisg ICAgICAgICAqIGhvdHBsdWcgY2FsbGluZyBjb252ZW50aW9uLCBhbmQgd2UgZG9uJ3QgaGF2ZSB0 byBwcmludAorICAgICAgICAgKiBhbiBlcnJvciBtZXNzYWdlLgorICAgICAgICAgKi8KICAgICAg ICAgbGlieGxfcmVwb3J0X2NoaWxkX2V4aXRzdGF0dXMoQ1RYLCBMSUJYTF9fTE9HX0VSUk9SLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhb2Rldi0+d2hhdCwgcGlkLCBz dGF0dXMpOwogICAgICAgICBob3RwbHVnX2Vycm9yID0gbGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9O VUxMLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggODUwN2FjMy4uYWEwMTAyYyAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oCkBAIC0xODU0LDExICsxODU0LDIwIEBAIHR5cGVkZWYgdm9pZCBsaWJ4bF9fZGV2aWNl X2NhbGxiYWNrKGxpYnhsX19lZ2MqLCBsaWJ4bF9fYW9fZGV2aWNlKik7CiAgKiBPbmNlIF9wcmVw YXJlIGhhcyBiZWVuIGNhbGxlZCBvbiBhIGxpYnhsX19hb19kZXZpY2UsIGl0IGlzIHNhZmUgdG8g anVzdAogICogZGlzY2FyZCB0aGlzIHN0cnVjdCwgdGhlcmUncyBubyBuZWVkIHRvIGNhbGwgYW55 IGRlc3Ryb3kgZnVuY3Rpb24uCiAgKiBfcHJlcGFyZSBjYW4gYWxzbyBiZSBjYWxsZWQgbXVsdGlw bGUgdGltZXMgd2l0aCB0aGUgc2FtZSBsaWJ4bF9fYW9fZGV2aWNlLgorICoKKyAqIElmIGhvdHBs dWcudmVyc2lvbiBmaWVsZCBpcyAyLCB0aGUgbmV3IGhvdHBsdWcgc2NyaXB0IGNhbGxpbmcgY29u dmVudGlvbgorICogd2lsbCBiZSB1c2VkIHRvIGNhbGwgdGhlIGhvdHBsdWcgc2NyaXB0LiBUaGlz IG5ldyBjb252ZW50aW9uIHByb3ZpZGVzCisgKiBuZXcgYWN0aW9ucyB0byBob3RwbHVnIHNjcmlw dHMsICJwcmVwYXJlIiwgInVucHJlcGFyZSIsICJsb2NhbGF0dGFjaCIsCisgKiAibG9jYWxkZXRh Y2giIGFuZCAidmVyc2lvbiIuIFRoaXMgbmV3IGFjdGlvbnMgaGF2ZSBiZWVuIGFkZGVkIHRvIG9m ZmxvYWQKKyAqIHdvcmsgZG9uZSBieSBob3RwbHVnIHNjcmlwdHMgZHVyaW5nIHRoZSBibGFja291 dCBwaGFzZSBvZiBtaWdyYXRpb24uCisgKiAicHJlcGFyZSIgaXMgY2FsbGVkIGJlZm9yZSB0aGUg cmVtb3RlIGRvbWFpbiBpcyBwYXVzZWQsIHNvIGFzIG11Y2gKKyAqIG9wZXJhdGlvbnMgYXMgcG9z c2libGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhpcyBwaGFzZS4KICAqLwogX2hpZGRlbiB2b2lkIGxp YnhsX19wcmVwYXJlX2FvX2RldmljZShsaWJ4bF9fYW8gKmFvLCBsaWJ4bF9fYW9fZGV2aWNlICph b2Rldik7CiAKIHN0cnVjdCBsaWJ4bF9faG90cGx1ZyB7CiAgICAgaW50IG51bV9leGVjOworICAg IGludCB2ZXJzaW9uOwogfTsKIAogc3RydWN0IGxpYnhsX19hb19kZXZpY2UgewpAQCAtMTg2OCw2 ICsxODc3LDggQEAgc3RydWN0IGxpYnhsX19hb19kZXZpY2UgewogICAgIGxpYnhsX19kZXZpY2Ug KmRldjsKICAgICBpbnQgZm9yY2U7CiAgICAgbGlieGxfX2RldmljZV9jYWxsYmFjayAqY2FsbGJh Y2s7CisgICAgLyogdXNlZCBieSB0aGUgVkVSSVNPTiBhbmQgTE9DQUxBVFRBQ0ggYWN0aW9ucywg c2V0IGJ5IGNhbGxlciAqLworICAgIGxpYnhsX2RldmljZV9kaXNrICpkaXNrOwogICAgIC8qIHJl dHVybiB2YWx1ZSwgemVyb2VkIGJ5IHVzZXIgb24gZW50cnksIGlzIHZhbGlkIG9uIGNhbGxiYWNr ICovCiAgICAgaW50IHJjOwogICAgIC8qIHByaXZhdGUgZm9yIG11bHRpZGV2ICovCkBAIC0yMDUx LDYgKzIwNjIsMTUgQEAgX2hpZGRlbiB2b2lkIGxpYnhsX19pbml0aWF0ZV9kZXZpY2VfcmVtb3Zl KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2Rldik7CiAKIC8qCisgKiBsaWJ4bF9fZGV2aWNlX3hz X2hvdHBsdWdfcGF0aCByZXR1cm5zIHRoZSB4ZW5zdG9yZSBob3RwbHVnCisgKiBwYXRoIHRoYXQg aXMgdXNlZCB0byBzaGFyZSBpbmZvcm1hdGlvbiB3aXRoIHRoZSBob3RwbHVnCisgKiBzY3JpcHQu CisgKgorICogVGhpcyBwYXRoIGlzIG9ubHkgdXNlZCBieSBob3RwbHVnIHNjcmlwdHMgdjIuCisg Ki8KK19oaWRkZW4gY2hhciAqbGlieGxfX2RldmljZV94c19ob3RwbHVnX3BhdGgobGlieGxfX2dj ICpnYywgbGlieGxfX2RldmljZSAqZGV2KTsKKworLyoKICAqIGxpYnhsX19nZXRfaG90cGx1Z19z Y3JpcHRfaW5mbyByZXR1cm5zIHRoZSBhcmdzIGFuZCBlbnYgdGhhdCBzaG91bGQKICAqIGJlIHBh c3NlZCB0byB0aGUgaG90cGx1ZyBzY3JpcHQgZm9yIHRoZSByZXF1ZXN0ZWQgZGV2aWNlLgogICoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2xpbnV4LmMgYi90b29scy9saWJ4bC9saWJ4 bF9saW51eC5jCmluZGV4IGJlNzYwNDUuLmUzMzFhZTYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2xpbnV4LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfbGludXguYwpAQCAtMTk4LDMy ICsxOTgsNjMgQEAgb3V0OgogCiBzdGF0aWMgaW50IGxpYnhsX19ob3RwbHVnX2Rpc2sobGlieGxf X2djICpnYywgbGlieGxfX2RldmljZSAqZGV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNoYXIgKioqYXJncywgY2hhciAqKiplbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX2RldmljZV9hY3Rpb24gYWN0aW9uKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX19kZXZpY2VfYWN0aW9uIGFjdGlvbiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgaG90cGx1Z192ZXJzaW9uKQogewogICAgIGNoYXIgKmJlX3BhdGgg PSBsaWJ4bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgZGV2KTsKKyAgICBjaGFyICpob3RwbHVn X3BhdGggPSBsaWJ4bF9fZGV2aWNlX3hzX2hvdHBsdWdfcGF0aChnYywgZGV2KTsKICAgICBjaGFy ICpzY3JpcHQ7CiAgICAgaW50IG5yID0gMCwgcmMgPSAwOwotCi0gICAgc2NyaXB0ID0gbGlieGxf X3hzX3JlYWQoZ2MsIFhCVF9OVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BS SU5URigiJXMvJXMiLCBiZV9wYXRoLCAic2NyaXB0IikpOwotICAgIGlmICghc2NyaXB0KSB7Ci0g ICAgICAgIExPR0VWKEVSUk9SLCBlcnJubywgInVuYWJsZSB0byByZWFkIHNjcmlwdCBmcm9tICVz IiwgYmVfcGF0aCk7Ci0gICAgICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgZ290byBlcnJv cjsKLSAgICB9Ci0KLSAgICAqZW52ID0gZ2V0X2hvdHBsdWdfZW52KGdjLCBzY3JpcHQsIGRldik7 Ci0gICAgaWYgKCEqZW52KSB7CisgICAgY29uc3QgaW50IGVudl9hcnJheXNpemUgPSA1OworICAg IGNvbnN0IGludCBhcmdfYXJyYXlzaXplID0gMzsKKworICAgIHN3aXRjaCAoaG90cGx1Z192ZXJz aW9uKSB7CisgICAgY2FzZSAxOgorICAgICAgICBzY3JpcHQgPSBsaWJ4bF9feHNfcmVhZChnYywg WEJUX05VTEwsIEdDU1BSSU5URigiJXMvc2NyaXB0IiwgYmVfcGF0aCkpOworICAgICAgICBpZiAo IXNjcmlwdCkgeworICAgICAgICAgICAgTE9HRVYoRVJST1IsIGVycm5vLCAidW5hYmxlIHRvIHJl YWQgc2NyaXB0IGZyb20gJXMiLCBiZV9wYXRoKTsKKyAgICAgICAgICAgIHJjID0gRVJST1JfRkFJ TDsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgKmVudiA9IGdl dF9ob3RwbHVnX2VudihnYywgc2NyaXB0LCBkZXYpOworICAgICAgICBpZiAoISplbnYpIHsKKyAg ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAg ICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAyOgorICAgICAgICAvKiBUaGUgbmV3IGhv dHBsdWcgY2FsbGluZyBjb252ZW50aW9uIG9ubHkgdXNlcyB0d28gRU5WIHZhcmlhYmxlczoKKyAg ICAgICAgICogQkFDS0VORF9QQVRIOiBwYXRoIHRvIHhlbnN0b3JlIGJhY2tlbmQgb2YgdGhlIHJl bGF0ZWQgZGV2aWNlLgorICAgICAgICAgKiBIT1RQTFVHX1BBVEg6IHBhdGggdG8gdGhlIHhlbnN0 b3JlIGRpcmVjdG9yeSB0aGF0IGNhbiBiZSB1c2VkIHRvCisgICAgICAgICAqIHBhc3MgZXh0cmEg cGFyYW1ldGVycyB0byB0aGUgc2NyaXB0LgorICAgICAgICAgKi8KKyAgICAgICAgc2NyaXB0ID0g bGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHQ1NQUklOVEYoIiVzL3NjcmlwdCIsIGhvdHBsdWdfcGF0aCkpOworICAgICAgICBpZiAo IXNjcmlwdCkgeworICAgICAgICAgICAgTE9HRVYoRVJST1IsIGVycm5vLCAidW5hYmxlIHRvIHJl YWQgc2NyaXB0IGZyb20gJXMiLCBob3RwbHVnX3BhdGgpOworICAgICAgICAgICAgcmMgPSBFUlJP Ul9GQUlMOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgICAgICBHQ05F V19BUlJBWSgqZW52LCBlbnZfYXJyYXlzaXplKTsKKyAgICAgICAgKCplbnYpW25yKytdID0gIkJB Q0tFTkRfUEFUSCI7CisgICAgICAgICgqZW52KVtucisrXSA9IGJlX3BhdGg7CisgICAgICAgICgq ZW52KVtucisrXSA9ICJIT1RQTFVHX1BBVEgiOworICAgICAgICAoKmVudilbbnIrK10gPSBob3Rw bHVnX3BhdGg7CisgICAgICAgICgqZW52KVtucisrXSA9IE5VTEw7CisgICAgICAgIGFzc2VydChu ciA9PSBlbnZfYXJyYXlzaXplKTsKKyAgICAgICAgbnIgPSAwOworICAgICAgICBicmVhazsKKyAg ICBkZWZhdWx0OgorICAgICAgICBMT0coRVJST1IsICJ1bmtub3duIGhvdHBsdWcgc2NyaXB0IHZl cnNpb24gJWQiLCBob3RwbHVnX3ZlcnNpb24pOwogICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAg ICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCi0gICAgY29uc3QgaW50IGFycmF5c2l6ZSA9IDM7 Ci0gICAgR0NORVdfQVJSQVkoKmFyZ3MsIGFycmF5c2l6ZSk7CisgICAgR0NORVdfQVJSQVkoKmFy Z3MsIGFyZ19hcnJheXNpemUpOwogICAgICgqYXJncylbbnIrK10gPSBzY3JpcHQ7CiAgICAgKCph cmdzKVtucisrXSA9IChjaGFyICopIGxpYnhsX19kZXZpY2VfYWN0aW9uX3RvX3N0cmluZyhhY3Rp b24pOwogICAgICgqYXJncylbbnIrK10gPSBOVUxMOwotICAgIGFzc2VydChuciA9PSBhcnJheXNp emUpOworICAgIGFzc2VydChuciA9PSBhcmdfYXJyYXlzaXplKTsKIAogICAgIHJjID0gMTsKIApA QCAtMjUxLDcgKzI4Miw3IEBAIGludCBsaWJ4bF9fZ2V0X2hvdHBsdWdfc2NyaXB0X2luZm8obGli eGxfX2djICpnYywgbGlieGxfX2RldmljZSAqZGV2LAogICAgICAgICAgICAgcmMgPSAwOwogICAg ICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgIH0KLSAgICAgICAgcmMgPSBsaWJ4bF9faG90cGx1 Z19kaXNrKGdjLCBkZXYsIGFyZ3MsIGVudiwgYWN0aW9uKTsKKyAgICAgICAgcmMgPSBsaWJ4bF9f aG90cGx1Z19kaXNrKGdjLCBkZXYsIGFyZ3MsIGVudiwgYWN0aW9uLCBob3RwbHVnLT52ZXJzaW9u KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMSUJYTF9fREVWSUNFX0tJTkRfVklGOgogICAg ICAgICAvKgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRs IGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRsCmluZGV4IGNiOTQ0NGYuLjI1 M2JiMTggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzX2ludGVybmFsLmlkbAor KysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwKQEAgLTM3LDQgKzM3LDkg QEAgbGlieGxfX2RldmljZV9jb25zb2xlID0gU3RydWN0KCJkZXZpY2VfY29uc29sZSIsIFsKIGxp YnhsX19kZXZpY2VfYWN0aW9uID0gRW51bWVyYXRpb24oImRldmljZV9hY3Rpb24iLCBbCiAgICAg KDEsICJBREQiKSwKICAgICAoMiwgIlJFTU9WRSIpLAorICAgICgzLCAiUFJFUEFSRSIpLAorICAg ICg0LCAiVU5QUkVQQVJFIiksCisgICAgKDUsICJMT0NBTEFUVEFDSCIpLAorICAgICg2LCAiTE9D QUxERVRBQ0giKSwKKyAgICAoNywgIlZFUlNJT04iKSwKICAgICBdKQotLSAKMS43LjcuNSAoQXBw bGUgR2l0LTI2KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==