From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v5 06/13] xen/pvcalls: implement bind command Date: Fri, 6 Oct 2017 17:30:20 -0700 Message-ID: <1507336227-20477-6-git-send-email-sstabellini@kernel.org> References: <1507336227-20477-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1507336227-20477-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: jgross@suse.com, Stefano Stabellini , boris.ostrovsky@oracle.com, sstabellini@kernel.org, linux-kernel@vger.kernel.org List-Id: xen-devel@lists.xenproject.org U2VuZCBQVkNBTExTX0JJTkQgdG8gdGhlIGJhY2tlbmQuIEludHJvZHVjZSBhIG5ldyBzdHJ1Y3R1 cmUsIHBhcnQgb2YKc3RydWN0IHNvY2tfbWFwcGluZywgdG8gc3RvcmUgaW5mb3JtYXRpb24gc3Bl Y2lmaWMgdG8gcGFzc2l2ZSBzb2NrZXRzLgoKSW50cm9kdWNlIGEgc3RhdHVzIGZpZWxkIHRvIGtl ZXAgdHJhY2sgb2YgdGhlIHN0YXR1cyBvZiB0aGUgcGFzc2l2ZQpzb2NrZXQuCgpTaWduZWQtb2Zm LWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm9AYXBvcmV0by5jb20+CkNDOiBib3Jpcy5v c3Ryb3Zza3lAb3JhY2xlLmNvbQpDQzogamdyb3NzQHN1c2UuY29tCi0tLQogZHJpdmVycy94ZW4v cHZjYWxscy1mcm9udC5jIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBkcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmggfCAgMyArKysKIDIgZmlsZXMg Y2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3B2Y2Fs bHMtZnJvbnQuYyBiL2RyaXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYwppbmRleCA3YzkyNjFiLi40 Y2FmZDliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMKKysrIGIvZHJp dmVycy94ZW4vcHZjYWxscy1mcm9udC5jCkBAIC03MSw2ICs3MSwxMyBAQCBzdHJ1Y3Qgc29ja19t YXBwaW5nIHsKIAogCQkJd2FpdF9xdWV1ZV9oZWFkX3QgaW5mbGlnaHRfY29ubl9yZXE7CiAJCX0g YWN0aXZlOworCQlzdHJ1Y3QgeworCQkvKiBTb2NrZXQgc3RhdHVzICovCisjZGVmaW5lIFBWQ0FM TFNfU1RBVFVTX1VOSU5JVEFMSVpFRCAgMAorI2RlZmluZSBQVkNBTExTX1NUQVRVU19CSU5EICAg ICAgICAgIDEKKyNkZWZpbmUgUFZDQUxMU19TVEFUVVNfTElTVEVOICAgICAgICAyCisJCQl1aW50 OF90IHN0YXR1czsKKwkJfSBwYXNzaXZlOwogCX07CiB9OwogCkBAIC0zNDcsNiArMzU0LDY1IEBA IGludCBwdmNhbGxzX2Zyb250X2Nvbm5lY3Qoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNv Y2thZGRyICphZGRyLAogCXJldHVybiByZXQ7CiB9CiAKK2ludCBwdmNhbGxzX2Zyb250X2JpbmQo c3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyLCBpbnQgYWRkcl9sZW4p Cit7CisJc3RydWN0IHB2Y2FsbHNfYmVkYXRhICpiZWRhdGE7CisJc3RydWN0IHNvY2tfbWFwcGlu ZyAqbWFwID0gTlVMTDsKKwlzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxOworCWludCBu b3RpZnksIHJlcV9pZCwgcmV0OworCisJaWYgKGFkZHItPnNhX2ZhbWlseSAhPSBBRl9JTkVUIHx8 IHNvY2stPnR5cGUgIT0gU09DS19TVFJFQU0pCisJCXJldHVybiAtRU5PVFNVUFA7CisKKwlwdmNh bGxzX2VudGVyKCk7CisJaWYgKCFwdmNhbGxzX2Zyb250X2RldikgeworCQlwdmNhbGxzX2V4aXQo KTsKKwkJcmV0dXJuIC1FTk9UQ09OTjsKKwl9CisJYmVkYXRhID0gZGV2X2dldF9kcnZkYXRhKCZw dmNhbGxzX2Zyb250X2Rldi0+ZGV2KTsKKworCW1hcCA9IChzdHJ1Y3Qgc29ja19tYXBwaW5nICop IHNvY2stPnNrLT5za19zZW5kX2hlYWQ7CisJaWYgKG1hcCA9PSBOVUxMKSB7CisJCXB2Y2FsbHNf ZXhpdCgpOworCQlyZXR1cm4gLUVOT1RTT0NLOworCX0KKworCXNwaW5fbG9jaygmYmVkYXRhLT5z b2NrZXRfbG9jayk7CisJcmV0ID0gZ2V0X3JlcXVlc3QoYmVkYXRhLCAmcmVxX2lkKTsKKwlpZiAo cmV0IDwgMCkgeworCQlzcGluX3VubG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7CisJCXB2Y2Fs bHNfZXhpdCgpOworCQlyZXR1cm4gcmV0OworCX0KKwlyZXEgPSBSSU5HX0dFVF9SRVFVRVNUKCZi ZWRhdGEtPnJpbmcsIHJlcV9pZCk7CisJcmVxLT5yZXFfaWQgPSByZXFfaWQ7CisJbWFwLT5zb2Nr ID0gc29jazsKKwlyZXEtPmNtZCA9IFBWQ0FMTFNfQklORDsKKwlyZXEtPnUuYmluZC5pZCA9ICh1 aW50NjRfdCltYXA7CisJbWVtY3B5KHJlcS0+dS5iaW5kLmFkZHIsIGFkZHIsIHNpemVvZigqYWRk cikpOworCXJlcS0+dS5iaW5kLmxlbiA9IGFkZHJfbGVuOworCisJbWFwLT5hY3RpdmVfc29ja2V0 ID0gZmFsc2U7CisKKwliZWRhdGEtPnJpbmcucmVxX3Byb2RfcHZ0Kys7CisJUklOR19QVVNIX1JF UVVFU1RTX0FORF9DSEVDS19OT1RJRlkoJmJlZGF0YS0+cmluZywgbm90aWZ5KTsKKwlzcGluX3Vu bG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7CisJaWYgKG5vdGlmeSkKKwkJbm90aWZ5X3JlbW90 ZV92aWFfaXJxKGJlZGF0YS0+aXJxKTsKKworCXdhaXRfZXZlbnQoYmVkYXRhLT5pbmZsaWdodF9y ZXEsCisJCSAgIFJFQURfT05DRShiZWRhdGEtPnJzcFtyZXFfaWRdLnJlcV9pZCkgPT0gcmVxX2lk KTsKKworCS8qIHJlYWQgcmVxX2lkLCB0aGVuIHRoZSBjb250ZW50ICovCisJc21wX3JtYigpOwor CXJldCA9IGJlZGF0YS0+cnNwW3JlcV9pZF0ucmV0OworCWJlZGF0YS0+cnNwW3JlcV9pZF0ucmVx X2lkID0gUFZDQUxMU19JTlZBTElEX0lEOworCisJbWFwLT5wYXNzaXZlLnN0YXR1cyA9IFBWQ0FM TFNfU1RBVFVTX0JJTkQ7CisJcHZjYWxsc19leGl0KCk7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRp YyBjb25zdCBzdHJ1Y3QgeGVuYnVzX2RldmljZV9pZCBwdmNhbGxzX2Zyb250X2lkc1tdID0gewog CXsgInB2Y2FsbHMiIH0sCiAJeyAiIiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxz LWZyb250LmggYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmgKaW5kZXggNjNiMDQxNy4uOGIw YTI3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5oCisrKyBiL2RyaXZl cnMveGVuL3B2Y2FsbHMtZnJvbnQuaApAQCAtNiw1ICs2LDggQEAKIGludCBwdmNhbGxzX2Zyb250 X3NvY2tldChzdHJ1Y3Qgc29ja2V0ICpzb2NrKTsKIGludCBwdmNhbGxzX2Zyb250X2Nvbm5lY3Qo c3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyLAogCQkJICBpbnQgYWRk cl9sZW4sIGludCBmbGFncyk7CitpbnQgcHZjYWxsc19mcm9udF9iaW5kKHN0cnVjdCBzb2NrZXQg KnNvY2ssCisJCSAgICAgICBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsCisJCSAgICAgICBpbnQgYWRk cl9sZW4pOwogCiAjZW5kaWYKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==