From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v3 02/11] xen: sched: implement .init_pdata in Credit, Credit2 and RTDS Date: Fri, 08 Apr 2016 03:23:29 +0200 Message-ID: <20160408012328.10762.37642.stgit@Solace.fritz.box> References: <20160408011204.10762.14241.stgit@Solace.fritz.box> 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 1aoL93-0007h3-IM for xen-devel@lists.xenproject.org; Fri, 08 Apr 2016 01:23:33 +0000 Received: by mail-wm0-f66.google.com with SMTP id a140so747817wma.2 for ; Thu, 07 Apr 2016 18:23:31 -0700 (PDT) In-Reply-To: <20160408011204.10762.14241.stgit@Solace.fritz.box> 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: George Dunlap , Juergen Gross , Meng Xu List-Id: xen-devel@lists.xenproject.org SW4gZmFjdCwgaWYgYSBzY2hlZHVsZXIgbmVlZHMgcGVyLXBDUFUgaW5mb3JtYXRpb24sCnRoYXQg bmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgYXBwcm9wcmlhdGVseS4gU28sIHdlIHRha2UKdGhlIGNv ZGUgdGhhdCBpcyBwZXJmb3JtaW5nIGluaXRpYWxpemF0aW9ucyBmcm9tIChyaWdodApub3cpIC5h bGxvY19wZGF0YSwgYW5kIHVzZSBpdCBmb3IgLmluaXRfcGRhdGEsIGxlYXZpbmcKb25seSBhY3R1 YWx5IGFsbG9jYXRpb25zIGluIHRoZSBmb3JtZXIsIGlmIGFueSAod2hpY2gKaXMgdGhlIGNhc2Ug aW4gUlREUyBhbmQgQ3JlZGl0MSkuCgpPbiB0aGUgb3RoZXIgaGFuZCwgaW4gQ3JlZGl0Miwgc2lu Y2Ugd2UgZG9uJ3QgcmVhbGx5Cm5lZWQgYW55IHBlci1wQ1BVIGRhdGEgYWxsb2NhdGlvbiwgZXZl cnl0aGluZyB0aGF0IHdhcwpiZWluZyBkb25lIGluIC5hbGxvY19wZGF0YSwgaXMgbm93IGRvbmUg aW4gLmluaXRfcGRhdGEuCkFuZCB0aGUgZmFjdCB0aGF0IG5vdyAuYWxsb2NfcGRhdGEgY2FuIGJl IGxlZnQgdW5kZWZpbmVkLAphbGxvd3MgdXMgdG8ganVzdCBnZXQgcmlkIG9mIGl0LgoKU3RpbGwg Zm9yIENyZWRpdDIsIHRoZSBmYWN0IHRoYXQgLmluaXRfcGRhdGEgaXMgY2FsbGVkCmR1cmluZyBD UFVfU1RBUlRJTkcgKHJhdGhlciB0aGFuIENQVV9VUF9QUkVQQVJFKSBraWxscwp0aGUgbmVlZCBm b3IgdGhlIHNjaGVkdWxlciB0byBzZXR1cCBhIHNpbWlsYXIgY2FsbGJhY2sKaXRzZWxmLCBzaW1w bGlmeWluZyB0aGUgY29kZS4KCkFuZCB0aGFua3MgdG8gc3VjaCBzaW1wbGlmaWNhdGlvbiwgaXQg aXMgbm93IGFsc28gb2sgdG8KbW92ZSBzb21lIG9mIHRoZSBsb2dpYyBtZWFudCBhdCBkb3VibGUg Y2hlY2tpbmcgdGhhdCBhCmNwdSB3YXMgKG9yIHdhcyBub3QpIGluaXRpYWxpemVkLCBpbnRvIEFT U0VSVFMgKHJhdGhlcgp0aGFuIGFuIGlmKCkgYW5kIGEgQlVHX09OKS4KClNpZ25lZC1vZmYtYnk6 IERhcmlvIEZhZ2dpb2xpIDxkYXJpby5mYWdnaW9saUBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTog TWVuZyBYdSA8bWVuZ3h1QGNpcy51cGVubi5lZHU+ClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFw IDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+Ci0tLQpDYzogSnVlcmdlbiBHcm9zcyA8amdy b3NzQHN1c2UuY29tPgotLS0KQ2hhbmdlcyBmcm9tIHYyOgoqIG1ha2UgdGhlIEFTU0VSVCgpIGlu IGNyZWRpdCBtb3JlIGxpbmVhciwgYXMgc3VnZ2VzdGVkCiAgZHVyaW5nIHJldmlldzsKKiBtaW5v ciBhZGp1c3RlbWVudHMgdG8gdGhlIGNoYW5nZWxvZywgYXMgc3VnZ2VzdGVkIGR1cmluZwogIHJl dmlldy4KLS0tCiB4ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jICB8ICAgMjAgKysrKysrKysrLS0t CiB4ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYyB8ICAgNzIgKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9jb21tb24vc2NoZWRfcnQuYyAgICAgIHwgICAx MSArKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMgYi94ZW4vY29tbW9u L3NjaGVkX2NyZWRpdC5jCmluZGV4IDYzYTRhNjMuLmY1MDNlNzMgMTAwNjQ0Ci0tLSBhL3hlbi9j b21tb24vc2NoZWRfY3JlZGl0LmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwpAQCAt NTI3LDggKzUyNyw2IEBAIHN0YXRpYyB2b2lkICoKIGNzY2hlZF9hbGxvY19wZGF0YShjb25zdCBz dHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIGludCBjcHUpCiB7CiAgICAgc3RydWN0IGNzY2hlZF9wY3B1 ICpzcGM7Ci0gICAgc3RydWN0IGNzY2hlZF9wcml2YXRlICpwcnYgPSBDU0NIRURfUFJJVihvcHMp OwotICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKICAgICAvKiBBbGxvY2F0ZSBwZXItUENQVSBp bmZvICovCiAgICAgc3BjID0geHphbGxvYyhzdHJ1Y3QgY3NjaGVkX3BjcHUpOwpAQCAtNTQxLDYg KzUzOSwxOSBAQCBjc2NoZWRfYWxsb2NfcGRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3Bz LCBpbnQgY3B1KQogICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKICAgICB9CiAKKyAg ICByZXR1cm4gc3BjOworfQorCitzdGF0aWMgdm9pZAorY3NjaGVkX2luaXRfcGRhdGEoY29uc3Qg c3RydWN0IHNjaGVkdWxlciAqb3BzLCB2b2lkICpwZGF0YSwgaW50IGNwdSkKK3sKKyAgICBzdHJ1 Y3QgY3NjaGVkX3ByaXZhdGUgKnBydiA9IENTQ0hFRF9QUklWKG9wcyk7CisgICAgc3RydWN0IGNz Y2hlZF9wY3B1ICogY29uc3Qgc3BjID0gcGRhdGE7CisgICAgdW5zaWduZWQgbG9uZyBmbGFnczsK KworICAgIC8qIGNwdSBkYXRhIG5lZWRzIHRvIGJlIGFsbG9jYXRlZCwgYnV0IFNUSUxMIHVuaW5p dGlhbGl6ZWQgKi8KKyAgICBBU1NFUlQoc3BjICYmIHNwYy0+cnVucS5uZXh0ID09IE5VTEwgJiYg c3BjLT5ydW5xLnByZXYgPT0gTlVMTCk7CisKICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmcHJ2LT5s b2NrLCBmbGFncyk7CiAKICAgICAvKiBJbml0aWFsaXplL3VwZGF0ZSBzeXN0ZW0td2lkZSBjb25m aWcgKi8KQEAgLTU2MSwxNiArNTcyLDEyIEBAIGNzY2hlZF9hbGxvY19wZGF0YShjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIGludCBjcHUpCiAgICAgSU5JVF9MSVNUX0hFQUQoJnNwYy0+cnVu cSk7CiAgICAgc3BjLT5ydW5xX3NvcnRfbGFzdCA9IHBydi0+cnVucV9zb3J0OwogICAgIHNwYy0+ aWRsZV9iaWFzID0gbnJfY3B1X2lkcyAtIDE7Ci0gICAgaWYgKCBwZXJfY3B1KHNjaGVkdWxlX2Rh dGEsIGNwdSkuc2NoZWRfcHJpdiA9PSBOVUxMICkKLSAgICAgICAgcGVyX2NwdShzY2hlZHVsZV9k YXRhLCBjcHUpLnNjaGVkX3ByaXYgPSBzcGM7CiAKICAgICAvKiBTdGFydCBvZmYgaWRsaW5nLi4u ICovCiAgICAgQlVHX09OKCFpc19pZGxlX3ZjcHUoY3Vycl9vbl9jcHUoY3B1KSkpOwogICAgIGNw dW1hc2tfc2V0X2NwdShjcHUsIHBydi0+aWRsZXJzKTsKIAogICAgIHNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJnBydi0+bG9jaywgZmxhZ3MpOwotCi0gICAgcmV0dXJuIHNwYzsKIH0KIAogI2lmbmRl ZiBOREVCVUcKQEAgLTIwNTQsNiArMjA2MSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2NoZWR1 bGVyIHNjaGVkX2NyZWRpdF9kZWYgPSB7CiAgICAgLmFsbG9jX3ZkYXRhICAgID0gY3NjaGVkX2Fs bG9jX3ZkYXRhLAogICAgIC5mcmVlX3ZkYXRhICAgICA9IGNzY2hlZF9mcmVlX3ZkYXRhLAogICAg IC5hbGxvY19wZGF0YSAgICA9IGNzY2hlZF9hbGxvY19wZGF0YSwKKyAgICAuaW5pdF9wZGF0YSAg ICAgPSBjc2NoZWRfaW5pdF9wZGF0YSwKICAgICAuZnJlZV9wZGF0YSAgICAgPSBjc2NoZWRfZnJl ZV9wZGF0YSwKICAgICAuYWxsb2NfZG9tZGF0YSAgPSBjc2NoZWRfYWxsb2NfZG9tZGF0YSwKICAg ICAuZnJlZV9kb21kYXRhICAgPSBjc2NoZWRfZnJlZV9kb21kYXRhLApkaWZmIC0tZ2l0IGEveGVu L2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwppbmRl eCBlOTdkOGJlLi44YTU2OTUzIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIu YworKysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpAQCAtMTk3MSw3ICsxOTcxLDggQEAg c3RhdGljIHZvaWQgZGVhY3RpdmF0ZV9ydW5xdWV1ZShzdHJ1Y3QgY3NjaGVkMl9wcml2YXRlICpw cnYsIGludCBycWkpCiAgICAgY3B1bWFza19jbGVhcl9jcHUocnFpLCAmcHJ2LT5hY3RpdmVfcXVl dWVzKTsKIH0KIAotc3RhdGljIHZvaWQgaW5pdF9wY3B1KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIg Km9wcywgaW50IGNwdSkKK3N0YXRpYyB2b2lkCitjc2NoZWQyX2luaXRfcGRhdGEoY29uc3Qgc3Ry dWN0IHNjaGVkdWxlciAqb3BzLCB2b2lkICpwZGF0YSwgaW50IGNwdSkKIHsKICAgICB1bnNpZ25l ZCBycWk7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTE5ODEsMTIgKzE5ODIsNyBAQCBz dGF0aWMgdm9pZCBpbml0X3BjcHUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBpbnQgY3B1 KQogCiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnBydi0+bG9jaywgZmxhZ3MpOwogCi0gICAgaWYg KCBjcHVtYXNrX3Rlc3RfY3B1KGNwdSwgJnBydi0+aW5pdGlhbGl6ZWQpICkKLSAgICB7Ci0gICAg ICAgIHByaW50aygiJXM6IFN0cmFuZ2UsIGNwdSAlZCBhbHJlYWR5IGluaXRpYWxpemVkIVxuIiwg X19mdW5jX18sIGNwdSk7Ci0gICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBydi0+bG9j aywgZmxhZ3MpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIEFTU0VSVCghY3B1bWFza190 ZXN0X2NwdShjcHUsICZwcnYtPmluaXRpYWxpemVkKSk7CiAKICAgICAvKiBGaWd1cmUgb3V0IHdo aWNoIHJ1bnF1ZXVlIHRvIHB1dCBpdCBpbiAqLwogICAgIHJxaSA9IDA7CkBAIC0yMDM2LDIwICsy MDMyLDYgQEAgc3RhdGljIHZvaWQgaW5pdF9wY3B1KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9w cywgaW50IGNwdSkKICAgICByZXR1cm47CiB9CiAKLXN0YXRpYyB2b2lkICoKLWNzY2hlZDJfYWxs b2NfcGRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCBpbnQgY3B1KQotewotICAgIC8q IENoZWNrIHRvIHNlZSBpZiB0aGUgY3B1IGlzIG9ubGluZSB5ZXQgKi8KLSAgICAvKiBOb3RlOiBj cHUgMCBkb2Vzbid0IGdldCBhIFNUQVJUSU5HIGNhbGxiYWNrICovCi0gICAgaWYgKCBjcHUgPT0g MCB8fCBjcHVfdG9fc29ja2V0KGNwdSkgIT0gWEVOX0lOVkFMSURfU09DS0VUX0lEICkKLSAgICAg ICAgaW5pdF9wY3B1KG9wcywgY3B1KTsKLSAgICBlbHNlCi0gICAgICAgIHByaW50aygiJXM6IGNw dSAlZCBub3Qgb25saW5lIHlldCwgZGVmZXJyaW5nIGluaXRpYWxpemF0Z2lvblxuIiwKLSAgICAg ICAgICAgICAgIF9fZnVuY19fLCBjcHUpOwotCi0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KIHN0YXRp YyB2b2lkCiBjc2NoZWQyX2ZyZWVfcGRhdGEoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB2 b2lkICpwY3B1LCBpbnQgY3B1KQogewpAQCAtMjA2MSw3ICsyMDQzLDcgQEAgY3NjaGVkMl9mcmVl X3BkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgdm9pZCAqcGNwdSwgaW50IGNwdSkK IAogICAgIHNwaW5fbG9ja19pcnFzYXZlKCZwcnYtPmxvY2ssIGZsYWdzKTsKIAotICAgIEJVR19P TighY3B1bWFza190ZXN0X2NwdShjcHUsICZwcnYtPmluaXRpYWxpemVkKSk7CisgICAgQVNTRVJU KGNwdW1hc2tfdGVzdF9jcHUoY3B1LCAmcHJ2LT5pbml0aWFsaXplZCkpOwogICAgIAogICAgIC8q IEZpbmQgdGhlIG9sZCBydW5xdWV1ZSBhbmQgcmVtb3ZlIHRoaXMgY3B1IGZyb20gaXQgKi8KICAg ICBycWkgPSBwcnYtPnJ1bnFfbWFwW2NwdV07CkBAIC0yMDk5LDQ5ICsyMDgxLDYgQEAgY3NjaGVk Ml9mcmVlX3BkYXRhKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgdm9pZCAqcGNwdSwgaW50 IGNwdSkKIH0KIAogc3RhdGljIGludAotY3NjaGVkMl9jcHVfc3RhcnRpbmcoaW50IGNwdSkKLXsK LSAgICBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHM7Ci0KLSAgICAvKiBIb3BlIHRoaXMgaXMgc2FmZSBm cm9tIGNwdXBvb2xzIHN3aXRjaGluZyB0aGluZ3MgYXJvdW5kLiA6LSkgKi8KLSAgICBvcHMgPSBw ZXJfY3B1KHNjaGVkdWxlciwgY3B1KTsKLQotICAgIGlmICggb3BzLT5hbGxvY19wZGF0YSA9PSBj c2NoZWQyX2FsbG9jX3BkYXRhICkKLSAgICAgICAgaW5pdF9wY3B1KG9wcywgY3B1KTsKLQotICAg IHJldHVybiBOT1RJRllfRE9ORTsKLX0KLQotc3RhdGljIGludCBjcHVfY3JlZGl0Ml9jYWxsYmFj aygKLSAgICBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5mYiwgdW5zaWduZWQgbG9uZyBhY3Rpb24s IHZvaWQgKmhjcHUpCi17Ci0gICAgdW5zaWduZWQgaW50IGNwdSA9ICh1bnNpZ25lZCBsb25nKWhj cHU7Ci0gICAgaW50IHJjID0gMDsKLQotICAgIHN3aXRjaCAoIGFjdGlvbiApCi0gICAgewotICAg IGNhc2UgQ1BVX1NUQVJUSU5HOgotICAgICAgICBjc2NoZWQyX2NwdV9zdGFydGluZyhjcHUpOwot ICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAg ICByZXR1cm4gIXJjID8gTk9USUZZX0RPTkUgOiBub3RpZmllcl9mcm9tX2Vycm5vKHJjKTsKLX0K LQotc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayBjcHVfY3JlZGl0Ml9uZmIgPSB7Ci0gICAg Lm5vdGlmaWVyX2NhbGwgPSBjcHVfY3JlZGl0Ml9jYWxsYmFjawotfTsKLQotc3RhdGljIGludAot Y3NjaGVkMl9nbG9iYWxfaW5pdCh2b2lkKQotewotICAgIHJlZ2lzdGVyX2NwdV9ub3RpZmllcigm Y3B1X2NyZWRpdDJfbmZiKTsKLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIGludAogY3NjaGVk Ml9pbml0KHN0cnVjdCBzY2hlZHVsZXIgKm9wcykKIHsKICAgICBpbnQgaTsKQEAgLTIyMTksMTIg KzIxNTgsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgc2NoZWRfY3JlZGl0Ml9k ZWYgPSB7CiAKICAgICAuZHVtcF9jcHVfc3RhdGUgPSBjc2NoZWQyX2R1bXBfcGNwdSwKICAgICAu ZHVtcF9zZXR0aW5ncyAgPSBjc2NoZWQyX2R1bXAsCi0gICAgLmdsb2JhbF9pbml0ICAgID0gY3Nj aGVkMl9nbG9iYWxfaW5pdCwKICAgICAuaW5pdCAgICAgICAgICAgPSBjc2NoZWQyX2luaXQsCiAg ICAgLmRlaW5pdCAgICAgICAgID0gY3NjaGVkMl9kZWluaXQsCiAgICAgLmFsbG9jX3ZkYXRhICAg ID0gY3NjaGVkMl9hbGxvY192ZGF0YSwKICAgICAuZnJlZV92ZGF0YSAgICAgPSBjc2NoZWQyX2Zy ZWVfdmRhdGEsCi0gICAgLmFsbG9jX3BkYXRhICAgID0gY3NjaGVkMl9hbGxvY19wZGF0YSwKKyAg ICAuaW5pdF9wZGF0YSAgICAgPSBjc2NoZWQyX2luaXRfcGRhdGEsCiAgICAgLmZyZWVfcGRhdGEg ICAgID0gY3NjaGVkMl9mcmVlX3BkYXRhLAogICAgIC5hbGxvY19kb21kYXRhICA9IGNzY2hlZDJf YWxsb2NfZG9tZGF0YSwKICAgICAuZnJlZV9kb21kYXRhICAgPSBjc2NoZWQyX2ZyZWVfZG9tZGF0 YSwKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfcnQuYyBiL3hlbi9jb21tb24vc2NoZWRf cnQuYwppbmRleCBhZWNlMzE4Li5iOTZiZDkzIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVk X3J0LmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9ydC5jCkBAIC02NjYsOCArNjY2LDggQEAgcnRf ZGVpbml0KHN0cnVjdCBzY2hlZHVsZXIgKm9wcykKICAqIFBvaW50IHBlcl9jcHUgc3BpbmxvY2sg dG8gdGhlIGdsb2JhbCBzeXN0ZW0gbG9jazsKICAqIEFsbCBjcHUgaGF2ZSBzYW1lIGdsb2JhbCBz eXN0ZW0gbG9jawogICovCi1zdGF0aWMgdm9pZCAqCi1ydF9hbGxvY19wZGF0YShjb25zdCBzdHJ1 Y3Qgc2NoZWR1bGVyICpvcHMsIGludCBjcHUpCitzdGF0aWMgdm9pZAorcnRfaW5pdF9wZGF0YShj b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHZvaWQgKnBkYXRhLCBpbnQgY3B1KQogewogICAg IHN0cnVjdCBydF9wcml2YXRlICpwcnYgPSBydF9wcml2KG9wcyk7CiAgICAgc3BpbmxvY2tfdCAq b2xkX2xvY2s7CkBAIC02ODAsNiArNjgwLDEyIEBAIHJ0X2FsbG9jX3BkYXRhKGNvbnN0IHN0cnVj dCBzY2hlZHVsZXIgKm9wcywgaW50IGNwdSkKIAogICAgIC8qIF9Ob3RfIHBjcHVfc2NoZWR1bGVf dW5sb2NrKCk6IHBlcl9jcHUoKS5zY2hlZHVsZV9sb2NrIGNoYW5nZWQhICovCiAgICAgc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZShvbGRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCAqCity dF9hbGxvY19wZGF0YShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIGludCBjcHUpCit7Cisg ICAgc3RydWN0IHJ0X3ByaXZhdGUgKnBydiA9IHJ0X3ByaXYob3BzKTsKIAogICAgIGlmICggIWFs bG9jX2NwdW1hc2tfdmFyKCZfY3B1bWFza19zY3JhdGNoW2NwdV0pICkKICAgICAgICAgcmV0dXJu IEVSUl9QVFIoLUVOT01FTSk7CkBAIC0xNDYxLDYgKzE0NjcsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHNjaGVkdWxlciBzY2hlZF9ydGRzX2RlZiA9IHsKICAgICAuZGVpbml0ICAgICAgICAgPSBy dF9kZWluaXQsCiAgICAgLmFsbG9jX3BkYXRhICAgID0gcnRfYWxsb2NfcGRhdGEsCiAgICAgLmZy ZWVfcGRhdGEgICAgID0gcnRfZnJlZV9wZGF0YSwKKyAgICAuaW5pdF9wZGF0YSAgICAgPSBydF9p bml0X3BkYXRhLAogICAgIC5hbGxvY19kb21kYXRhICA9IHJ0X2FsbG9jX2RvbWRhdGEsCiAgICAg LmZyZWVfZG9tZGF0YSAgID0gcnRfZnJlZV9kb21kYXRhLAogICAgIC5pbml0X2RvbWFpbiAgICA9 IHJ0X2RvbV9pbml0LAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==