From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v5 07/13] xen/pvcalls: implement listen command Date: Fri, 6 Oct 2017 17:30:21 -0700 Message-ID: <1507336227-20477-7-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 U2VuZCBQVkNBTExTX0xJU1RFTiB0byB0aGUgYmFja2VuZC4KClNpZ25lZC1vZmYtYnk6IFN0ZWZh bm8gU3RhYmVsbGluaSA8c3RlZmFub0BhcG9yZXRvLmNvbT4KUmV2aWV3ZWQtYnk6IEJvcmlzIE9z dHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkNDOiBib3Jpcy5vc3Ryb3Zza3lA b3JhY2xlLmNvbQpDQzogamdyb3NzQHN1c2UuY29tCi0tLQogZHJpdmVycy94ZW4vcHZjYWxscy1m cm9udC5jIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBkcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDU4 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMg Yi9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMKaW5kZXggNGNhZmQ5Yi4uNTQzM2ZhZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5jCisrKyBiL2RyaXZlcnMveGVuL3B2 Y2FsbHMtZnJvbnQuYwpAQCAtNDEzLDYgKzQxMyw2MyBAQCBpbnQgcHZjYWxsc19mcm9udF9iaW5k KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkciwgaW50IGFkZHJfbGVu KQogCXJldHVybiAwOwogfQogCitpbnQgcHZjYWxsc19mcm9udF9saXN0ZW4oc3RydWN0IHNvY2tl dCAqc29jaywgaW50IGJhY2tsb2cpCit7CisJc3RydWN0IHB2Y2FsbHNfYmVkYXRhICpiZWRhdGE7 CisJc3RydWN0IHNvY2tfbWFwcGluZyAqbWFwOworCXN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0 ICpyZXE7CisJaW50IG5vdGlmeSwgcmVxX2lkLCByZXQ7CisKKwlwdmNhbGxzX2VudGVyKCk7CisJ aWYgKCFwdmNhbGxzX2Zyb250X2RldikgeworCQlwdmNhbGxzX2V4aXQoKTsKKwkJcmV0dXJuIC1F Tk9UQ09OTjsKKwl9CisJYmVkYXRhID0gZGV2X2dldF9kcnZkYXRhKCZwdmNhbGxzX2Zyb250X2Rl di0+ZGV2KTsKKworCW1hcCA9IChzdHJ1Y3Qgc29ja19tYXBwaW5nICopIHNvY2stPnNrLT5za19z ZW5kX2hlYWQ7CisJaWYgKCFtYXApIHsKKwkJcHZjYWxsc19leGl0KCk7CisJCXJldHVybiAtRU5P VFNPQ0s7CisJfQorCisJaWYgKG1hcC0+cGFzc2l2ZS5zdGF0dXMgIT0gUFZDQUxMU19TVEFUVVNf QklORCkgeworCQlwdmNhbGxzX2V4aXQoKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCX0KKwor CXNwaW5fbG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7CisJcmV0ID0gZ2V0X3JlcXVlc3QoYmVk YXRhLCAmcmVxX2lkKTsKKwlpZiAocmV0IDwgMCkgeworCQlzcGluX3VubG9jaygmYmVkYXRhLT5z b2NrZXRfbG9jayk7CisJCXB2Y2FsbHNfZXhpdCgpOworCQlyZXR1cm4gcmV0OworCX0KKwlyZXEg PSBSSU5HX0dFVF9SRVFVRVNUKCZiZWRhdGEtPnJpbmcsIHJlcV9pZCk7CisJcmVxLT5yZXFfaWQg PSByZXFfaWQ7CisJcmVxLT5jbWQgPSBQVkNBTExTX0xJU1RFTjsKKwlyZXEtPnUubGlzdGVuLmlk ID0gKHVpbnQ2NF90KSBtYXA7CisJcmVxLT51Lmxpc3Rlbi5iYWNrbG9nID0gYmFja2xvZzsKKwor CWJlZGF0YS0+cmluZy5yZXFfcHJvZF9wdnQrKzsKKwlSSU5HX1BVU0hfUkVRVUVTVFNfQU5EX0NI RUNLX05PVElGWSgmYmVkYXRhLT5yaW5nLCBub3RpZnkpOworCXNwaW5fdW5sb2NrKCZiZWRhdGEt PnNvY2tldF9sb2NrKTsKKwlpZiAobm90aWZ5KQorCQlub3RpZnlfcmVtb3RlX3ZpYV9pcnEoYmVk YXRhLT5pcnEpOworCisJd2FpdF9ldmVudChiZWRhdGEtPmluZmxpZ2h0X3JlcSwKKwkJICAgUkVB RF9PTkNFKGJlZGF0YS0+cnNwW3JlcV9pZF0ucmVxX2lkKSA9PSByZXFfaWQpOworCisJLyogcmVh ZCByZXFfaWQsIHRoZW4gdGhlIGNvbnRlbnQgKi8KKwlzbXBfcm1iKCk7CisJcmV0ID0gYmVkYXRh LT5yc3BbcmVxX2lkXS5yZXQ7CisJYmVkYXRhLT5yc3BbcmVxX2lkXS5yZXFfaWQgPSBQVkNBTExT X0lOVkFMSURfSUQ7CisKKwltYXAtPnBhc3NpdmUuc3RhdHVzID0gUFZDQUxMU19TVEFUVVNfTElT VEVOOworCXB2Y2FsbHNfZXhpdCgpOworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBjb25zdCBz dHJ1Y3QgeGVuYnVzX2RldmljZV9pZCBwdmNhbGxzX2Zyb250X2lkc1tdID0gewogCXsgInB2Y2Fs bHMiIH0sCiAJeyAiIiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250Lmgg Yi9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmgKaW5kZXggOGIwYTI3NC4uYWE4ZmUxMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5oCisrKyBiL2RyaXZlcnMveGVuL3B2 Y2FsbHMtZnJvbnQuaApAQCAtOSw1ICs5LDYgQEAgaW50IHB2Y2FsbHNfZnJvbnRfY29ubmVjdChz dHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsCiBpbnQgcHZjYWxsc19m cm9udF9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssCiAJCSAgICAgICBzdHJ1Y3Qgc29ja2FkZHIg KmFkZHIsCiAJCSAgICAgICBpbnQgYWRkcl9sZW4pOworaW50IHB2Y2FsbHNfZnJvbnRfbGlzdGVu KHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBiYWNrbG9nKTsKIAogI2VuZGlmCi0tIAoxLjkuMQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=