From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 09/18] xen/pvcalls: implement bind command Date: Fri, 19 May 2017 16:22:50 -0700 Message-ID: <1495236179-27776-9-git-send-email-sstabellini@kernel.org> References: <1495236179-27776-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: <1495236179-27776-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 QWxsb2NhdGUgYSBzb2NrZXQuIFRyYWNrIHRoZSBhbGxvY2F0ZWQgcGFzc2l2ZSBzb2NrZXRzIHdp dGggYSBuZXcgZGF0YQpzdHJ1Y3R1cmUgbmFtZWQgc29ja3Bhc3NfbWFwcGluZy4gSXQgY29udGFp bnMgYW4gdW5ib3VuZCB3b3JrcXVldWUgdG8Kc2NoZWR1bGUgZGVsYXllZCB3b3JrIGZvciB0aGUg YWNjZXB0IGFuZCBwb2xsIGNvbW1hbmRzLiBJdCBhbHNvIGhhcyBhCnJlcWNvcHkgZmllbGQgdG8g YmUgdXNlZCB0byBzdG9yZSBhIGNvcHkgb2YgYSByZXF1ZXN0IGZvciBkZWxheWVkIHdvcmsuClJl YWRzL3dyaXRlcyB0byBpdCBhcmUgcHJvdGVjdGVkIGJ5IGEgbG9jayAodGhlICJjb3B5X2xvY2si IHNwaW5sb2NrKS4KSW5pdGlhbGl6ZSB0aGUgd29ya3F1ZXVlIGluIHB2Y2FsbHNfYmFja19iaW5k LgoKSW1wbGVtZW50IHRoZSBiaW5kIGNvbW1hbmQgd2l0aCBpbmV0X2JpbmQuCgpUaGUgcGFzc19z a19kYXRhX3JlYWR5IGV2ZW50IGhhbmRsZXIgd2lsbCBiZSBhZGRlZCBsYXRlci4KClNpZ25lZC1v ZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub0BhcG9yZXRvLmNvbT4KQ0M6IGJvcmlz Lm9zdHJvdnNreUBvcmFjbGUuY29tCkNDOiBqZ3Jvc3NAc3VzZS5jb20KLS0tCiBkcml2ZXJzL3hl bi9wdmNhbGxzLWJhY2suYyB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMgYi9kcml2ZXJzL3hl bi9wdmNhbGxzLWJhY2suYwppbmRleCA2NWZiYzM5Li5kMzI3OGJkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3hlbi9wdmNhbGxzLWJhY2suYworKysgYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWJhY2suYwpA QCAtODIsNiArODIsMTggQEAgc3RydWN0IHNvY2tfbWFwcGluZyB7CiAJc3RydWN0IHB2Y2FsbHNf aW93b3JrZXIgaW93b3JrZXI7CiB9OwogCitzdHJ1Y3Qgc29ja3Bhc3NfbWFwcGluZyB7CisJc3Ry dWN0IGxpc3RfaGVhZCBsaXN0OworCXN0cnVjdCBwdmNhbGxzX2JhY2tfcHJpdiAqcHJpdjsKKwlz dHJ1Y3Qgc29ja2V0ICpzb2NrOworCXVpbnQ2NF90IGlkOworCXN0cnVjdCB4ZW5fcHZjYWxsc19y ZXF1ZXN0IHJlcWNvcHk7CisJc3BpbmxvY2tfdCBjb3B5X2xvY2s7CisJc3RydWN0IHdvcmtxdWV1 ZV9zdHJ1Y3QgKndxOworCXN0cnVjdCB3b3JrX3N0cnVjdCByZWdpc3Rlcl93b3JrOworCXZvaWQg KCpzYXZlZF9kYXRhX3JlYWR5KShzdHJ1Y3Qgc29jayAqc2spOworfTsKKwogc3RhdGljIGlycXJl dHVybl90IHB2Y2FsbHNfYmFja19jb25uX2V2ZW50KGludCBpcnEsIHZvaWQgKnNvY2tfbWFwKTsK IHN0YXRpYyBpbnQgcHZjYWxsc19iYWNrX3JlbGVhc2VfYWN0aXZlKHN0cnVjdCB4ZW5idXNfZGV2 aWNlICpkZXYsCiAJCQkJICAgICAgIHN0cnVjdCBwdmNhbGxzX2JhY2tfcHJpdiAqcHJpdiwKQEAg LTI1MywxMCArMjY1LDgzIEBAIHN0YXRpYyBpbnQgcHZjYWxsc19iYWNrX3JlbGVhc2Uoc3RydWN0 IHhlbmJ1c19kZXZpY2UgKmRldiwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgX19wdmNh bGxzX2JhY2tfYWNjZXB0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKK30KKworc3RhdGlj IHZvaWQgcHZjYWxsc19wYXNzX3NrX2RhdGFfcmVhZHkoc3RydWN0IHNvY2sgKnNvY2spCit7Cit9 CisKIHN0YXRpYyBpbnQgcHZjYWxsc19iYWNrX2JpbmQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRl diwKIAkJCSAgICAgc3RydWN0IHhlbl9wdmNhbGxzX3JlcXVlc3QgKnJlcSkKIHsKLQlyZXR1cm4g MDsKKwlzdHJ1Y3QgcHZjYWxsc19iYWNrX3ByaXYgKnByaXY7CisJaW50IHJldCwgZXJyOworCXN0 cnVjdCBzb2NrZXQgKnNvY2s7CisJc3RydWN0IHNvY2twYXNzX21hcHBpbmcgKm1hcCA9IE5VTEw7 CisJc3RydWN0IHhlbl9wdmNhbGxzX3Jlc3BvbnNlICpyc3A7CisKKwlwcml2ID0gZGV2X2dldF9k cnZkYXRhKCZkZXYtPmRldik7CisKKwltYXAgPSBremFsbG9jKHNpemVvZigqbWFwKSwgR0ZQX0tF Uk5FTCk7CisJaWYgKG1hcCA9PSBOVUxMKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0 OworCX0KKworCUlOSVRfV09SSygmbWFwLT5yZWdpc3Rlcl93b3JrLCBfX3B2Y2FsbHNfYmFja19h Y2NlcHQpOworCXNwaW5fbG9ja19pbml0KCZtYXAtPmNvcHlfbG9jayk7CisJbWFwLT53cSA9IGFs bG9jX3dvcmtxdWV1ZSgicHZjYWxsc193cSIsIFdRX1VOQk9VTkQsIDEpOworCWlmICghbWFwLT53 cSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlrZnJlZShtYXApOworCQlnb3RvIG91dDsKKwl9CisK KwlyZXQgPSBzb2NrX2NyZWF0ZShBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCwgJnNvY2spOworCWlm IChyZXQgPCAwKSB7CisJCWRlc3Ryb3lfd29ya3F1ZXVlKG1hcC0+d3EpOworCQlrZnJlZShtYXAp OworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQgPSBpbmV0X2JpbmQoc29jaywgKHN0cnVjdCBzb2Nr YWRkciAqKSZyZXEtPnUuYmluZC5hZGRyLAorCQkJcmVxLT51LmJpbmQubGVuKTsKKwlpZiAocmV0 IDwgMCkgeworCQlkZXN0cm95X3dvcmtxdWV1ZShtYXAtPndxKTsKKwkJa2ZyZWUobWFwKTsKKwkJ Z290byBvdXQ7CisJfQorCisJbWFwLT5wcml2ID0gcHJpdjsKKwltYXAtPnNvY2sgPSBzb2NrOwor CW1hcC0+aWQgPSByZXEtPnUuYmluZC5pZDsKKworCWRvd24oJnByaXYtPnNvY2tldF9sb2NrKTsK KwllcnIgPSByYWRpeF90cmVlX2luc2VydCgmcHJpdi0+c29ja2V0cGFzc19tYXBwaW5ncywgbWFw LT5pZCwKKwkJCQltYXApOworCXVwKCZwcml2LT5zb2NrZXRfbG9jayk7CisJaWYgKGVycikgewor CQlyZXQgPSBlcnI7CisJCWRlc3Ryb3lfd29ya3F1ZXVlKG1hcC0+d3EpOworCQlrZnJlZShtYXAp OworCQlnb3RvIG91dDsKKwl9CisKKwl3cml0ZV9sb2NrX2JoKCZzb2NrLT5zay0+c2tfY2FsbGJh Y2tfbG9jayk7CisJbWFwLT5zYXZlZF9kYXRhX3JlYWR5ID0gc29jay0+c2stPnNrX2RhdGFfcmVh ZHk7CisJc29jay0+c2stPnNrX3VzZXJfZGF0YSA9IG1hcDsKKwlzb2NrLT5zay0+c2tfZGF0YV9y ZWFkeSA9IHB2Y2FsbHNfcGFzc19za19kYXRhX3JlYWR5OworCXdyaXRlX3VubG9ja19iaCgmc29j ay0+c2stPnNrX2NhbGxiYWNrX2xvY2spOworCitvdXQ6CisJcnNwID0gUklOR19HRVRfUkVTUE9O U0UoJnByaXYtPnJpbmcsIHByaXYtPnJpbmcucnNwX3Byb2RfcHZ0KyspOworCXJzcC0+cmVxX2lk ID0gcmVxLT5yZXFfaWQ7CisJcnNwLT5jbWQgPSByZXEtPmNtZDsKKwlyc3AtPnUuYmluZC5pZCA9 IHJlcS0+dS5iaW5kLmlkOworCXJzcC0+cmV0ID0gcmV0OworCXJldHVybiByZXQ7CiB9CiAKIHN0 YXRpYyBpbnQgcHZjYWxsc19iYWNrX2xpc3RlbihzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2LAot LSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK