From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v4 07/13] xen/pvcalls: implement listen command Date: Fri, 15 Sep 2017 16:00:34 -0700 Message-ID: <1505516440-11111-7-git-send-email-sstabellini@kernel.org> References: <1505516440-11111-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: <1505516440-11111-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 cm9udC5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBkcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDU3 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMg Yi9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMKaW5kZXggNTBiNjU4OC4uNGVjYzFlNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5jCisrKyBiL2RyaXZlcnMveGVuL3B2 Y2FsbHMtZnJvbnQuYwpAQCAtNDE0LDYgKzQxNCw2MiBAQCBpbnQgcHZjYWxsc19mcm9udF9iaW5k KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkciwgaW50IGFkZHJfbGVu KQogCXJldHVybiAwOwogfQogCitpbnQgcHZjYWxsc19mcm9udF9saXN0ZW4oc3RydWN0IHNvY2tl dCAqc29jaywgaW50IGJhY2tsb2cpCit7CisJc3RydWN0IHB2Y2FsbHNfYmVkYXRhICpiZWRhdGE7 CisJc3RydWN0IHNvY2tfbWFwcGluZyAqbWFwOworCXN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0 ICpyZXE7CisJaW50IG5vdGlmeSwgcmVxX2lkLCByZXQ7CisKKwlwdmNhbGxzX2VudGVyOworCWlm ICghcHZjYWxsc19mcm9udF9kZXYpIHsKKwkJcHZjYWxsc19leGl0OworCQlyZXR1cm4gLUVOT1RD T05OOworCX0KKwliZWRhdGEgPSBkZXZfZ2V0X2RydmRhdGEoJnB2Y2FsbHNfZnJvbnRfZGV2LT5k ZXYpOworCisJbWFwID0gKHN0cnVjdCBzb2NrX21hcHBpbmcgKikgc29jay0+c2stPnNrX3NlbmRf aGVhZDsKKwlpZiAoIW1hcCkgeworCQlwdmNhbGxzX2V4aXQ7CisJCXJldHVybiAtRU5PVFNPQ0s7 CisJfQorCisJaWYgKG1hcC0+cGFzc2l2ZS5zdGF0dXMgIT0gUFZDQUxMU19TVEFUVVNfQklORCkg eworCQlwdmNhbGxzX2V4aXQ7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9CisKKwlzcGluX2xv Y2soJmJlZGF0YS0+c29ja2V0X2xvY2spOworCXJldCA9IGdldF9yZXF1ZXN0KGJlZGF0YSwgJnJl cV9pZCk7CisJaWYgKHJldCA8IDApIHsKKwkJc3Bpbl91bmxvY2soJmJlZGF0YS0+c29ja2V0X2xv Y2spOworCQlwdmNhbGxzX2V4aXQ7CisJCXJldHVybiByZXQ7CisJfQorCXJlcSA9IFJJTkdfR0VU X1JFUVVFU1QoJmJlZGF0YS0+cmluZywgcmVxX2lkKTsKKwlyZXEtPnJlcV9pZCA9IHJlcV9pZDsK KwlyZXEtPmNtZCA9IFBWQ0FMTFNfTElTVEVOOworCXJlcS0+dS5saXN0ZW4uaWQgPSAodWludDY0 X3QpIG1hcDsKKwlyZXEtPnUubGlzdGVuLmJhY2tsb2cgPSBiYWNrbG9nOworCisJYmVkYXRhLT5y aW5nLnJlcV9wcm9kX3B2dCsrOworCVJJTkdfUFVTSF9SRVFVRVNUU19BTkRfQ0hFQ0tfTk9USUZZ KCZiZWRhdGEtPnJpbmcsIG5vdGlmeSk7CisJc3Bpbl91bmxvY2soJmJlZGF0YS0+c29ja2V0X2xv Y2spOworCWlmIChub3RpZnkpCisJCW5vdGlmeV9yZW1vdGVfdmlhX2lycShiZWRhdGEtPmlycSk7 CisKKwl3YWl0X2V2ZW50KGJlZGF0YS0+aW5mbGlnaHRfcmVxLAorCQkgICBSRUFEX09OQ0UoYmVk YXRhLT5yc3BbcmVxX2lkXS5yZXFfaWQpID09IHJlcV9pZCk7CisKKwltYXAtPnBhc3NpdmUuc3Rh dHVzID0gUFZDQUxMU19TVEFUVVNfTElTVEVOOworCXJldCA9IGJlZGF0YS0+cnNwW3JlcV9pZF0u cmV0OworCS8qIHJlYWQgcmV0LCB0aGVuIHNldCB0aGlzIHJzcCBzbG90IHRvIGJlIHJldXNlZCAq LworCXNtcF9tYigpOworCVdSSVRFX09OQ0UoYmVkYXRhLT5yc3BbcmVxX2lkXS5yZXFfaWQsIFBW Q0FMTFNfSU5WQUxJRF9JRCk7CisJcHZjYWxsc19leGl0OworCXJldHVybiByZXQ7Cit9CisKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgeGVuYnVzX2RldmljZV9pZCBwdmNhbGxzX2Zyb250X2lkc1tdID0g ewogCXsgInB2Y2FsbHMiIH0sCiAJeyAiIiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNh bGxzLWZyb250LmggYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmgKaW5kZXggOGIwYTI3NC4u YWE4ZmUxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5oCisrKyBiL2Ry aXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuaApAQCAtOSw1ICs5LDYgQEAgaW50IHB2Y2FsbHNfZnJv bnRfY29ubmVjdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsCiBp bnQgcHZjYWxsc19mcm9udF9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssCiAJCSAgICAgICBzdHJ1 Y3Qgc29ja2FkZHIgKmFkZHIsCiAJCSAgICAgICBpbnQgYWRkcl9sZW4pOworaW50IHB2Y2FsbHNf ZnJvbnRfbGlzdGVuKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBiYWNrbG9nKTsKIAogI2VuZGlm Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=