From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v4 05/18] xen/pvcalls: connect to a frontend Date: Thu, 15 Jun 2017 12:09:34 -0700 Message-ID: <1497553787-3709-5-git-send-email-sstabellini@kernel.org> References: <1497553787-3709-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: <1497553787-3709-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 SW50cm9kdWNlIGEgcGVyLWZyb250ZW5kIGRhdGEgc3RydWN0dXJlIG5hbWVkIHB2Y2FsbHNfZmVk YXRhLiBJdApjb250YWlucyBwb2ludGVycyB0byB0aGUgY29tbWFuZCByaW5nLCBpdHMgZXZlbnQg Y2hhbm5lbCwgYSBsaXN0IG9mCmFjdGl2ZSBzb2NrZXRzIGFuZCBhIHRyZWUgb2YgcGFzc2l2ZSBz b2NrZXRzIChwYXNzaW5nIHNvY2tldHMgbmVlZCB0byBiZQpsb29rZWQgdXAgZnJvbSB0aGUgaWQg b24gbGlzdGVuLCBhY2NlcHQgYW5kIHBvbGwgY29tbWFuZHMsIHdoaWxlIGFjdGl2ZQpzb2NrZXRz IG9ubHkgb24gcmVsZWFzZSkuCgpJdCBhbHNvIGhhcyBhbiB1bmJvdW5kIHdvcmtxdWV1ZSB0byBz Y2hlZHVsZSB0aGUgd29yayBvZiBwYXJzaW5nIGFuZApleGVjdXRpbmcgY29tbWFuZHMgb24gdGhl IGNvbW1hbmQgcmluZy4gc29ja2V0X2xvY2sgcHJvdGVjdHMgdGhlIHR3bwpsaXN0cy4gSW4gcHZj YWxsc19iYWNrX2dsb2JhbCwga2VlcCBhIGxpc3Qgb2YgY29ubmVjdGVkIGZyb250ZW5kcy4KClNp Z25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub0BhcG9yZXRvLmNvbT4KUmV2 aWV3ZWQtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkND OiBib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbQpDQzogamdyb3NzQHN1c2UuY29tCi0tLQogZHJp dmVycy94ZW4vcHZjYWxscy1iYWNrLmMgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jIGIvZHJpdmVycy94ZW4vcHZjYWxs cy1iYWNrLmMKaW5kZXggN2JjZTc1MC4uZTRjMmU0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4v cHZjYWxscy1iYWNrLmMKKysrIGIvZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMKQEAgLTMzLDkg KzMzLDEwMSBAQCBzdHJ1Y3QgcHZjYWxsc19iYWNrX2dsb2JhbCB7CiAJc3RydWN0IHNlbWFwaG9y ZSBmcm9udGVuZHNfbG9jazsKIH0gcHZjYWxsc19iYWNrX2dsb2JhbDsKIAorLyoKKyAqIFBlci1m cm9udGVuZCBkYXRhIHN0cnVjdHVyZS4gSXQgY29udGFpbnMgcG9pbnRlcnMgdG8gdGhlIGNvbW1h bmQKKyAqIHJpbmcsIGl0cyBldmVudCBjaGFubmVsLCBhIGxpc3Qgb2YgYWN0aXZlIHNvY2tldHMg YW5kIGEgdHJlZSBvZgorICogcGFzc2l2ZSBzb2NrZXRzLgorICovCitzdHJ1Y3QgcHZjYWxsc19m ZWRhdGEgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3QgeGVuYnVzX2RldmljZSAq ZGV2OworCXN0cnVjdCB4ZW5fcHZjYWxsc19zcmluZyAqc3Jpbmc7CisJc3RydWN0IHhlbl9wdmNh bGxzX2JhY2tfcmluZyByaW5nOworCWludCBpcnE7CisJc3RydWN0IGxpc3RfaGVhZCBzb2NrZXRf bWFwcGluZ3M7CisJc3RydWN0IHJhZGl4X3RyZWVfcm9vdCBzb2NrZXRwYXNzX21hcHBpbmdzOwor CXN0cnVjdCBzZW1hcGhvcmUgc29ja2V0X2xvY2s7CisJc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3Qg KndxOworCXN0cnVjdCB3b3JrX3N0cnVjdCByZWdpc3Rlcl93b3JrOworfTsKKworc3RhdGljIHZv aWQgcHZjYWxsc19iYWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworfQorCitz dGF0aWMgaXJxcmV0dXJuX3QgcHZjYWxsc19iYWNrX2V2ZW50KGludCBpcnEsIHZvaWQgKmRldl9p ZCkKK3sKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKIHN0YXRpYyBpbnQgYmFja2VuZF9jb25u ZWN0KHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYpCiB7CisJaW50IGVyciwgZXZ0Y2huOworCWdy YW50X3JlZl90IHJpbmdfcmVmOworCXN0cnVjdCBwdmNhbGxzX2ZlZGF0YSAqZmVkYXRhID0gTlVM TDsKKworCWZlZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBwdmNhbGxzX2ZlZGF0YSksIEdG UF9LRVJORUwpOworCWlmICghZmVkYXRhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWVyciA9IHhl bmJ1c19zY2FuZihYQlRfTklMLCBkZXYtPm90aGVyZW5kLCAicG9ydCIsICIldSIsCisJCQkgICAm ZXZ0Y2huKTsKKwlpZiAoZXJyICE9IDEpIHsKKwkJZXJyID0gLUVJTlZBTDsKKwkJeGVuYnVzX2Rl dl9mYXRhbChkZXYsIGVyciwgInJlYWRpbmcgJXMvZXZlbnQtY2hhbm5lbCIsCisJCQkJIGRldi0+ b3RoZXJlbmQpOworCQlnb3RvIGVycm9yOworCX0KKworCWVyciA9IHhlbmJ1c19zY2FuZihYQlRf TklMLCBkZXYtPm90aGVyZW5kLCAicmluZy1yZWYiLCAiJXUiLCAmcmluZ19yZWYpOworCWlmIChl cnIgIT0gMSkgeworCQllcnIgPSAtRUlOVkFMOworCQl4ZW5idXNfZGV2X2ZhdGFsKGRldiwgZXJy LCAicmVhZGluZyAlcy9yaW5nLXJlZiIsCisJCQkJIGRldi0+b3RoZXJlbmQpOworCQlnb3RvIGVy cm9yOworCX0KKworCWVyciA9IGJpbmRfaW50ZXJkb21haW5fZXZ0Y2huX3RvX2lycWhhbmRsZXIo ZGV2LT5vdGhlcmVuZF9pZCwgZXZ0Y2huLAorCQkJCQkJICAgIHB2Y2FsbHNfYmFja19ldmVudCwg MCwKKwkJCQkJCSAgICAicHZjYWxscy1iYWNrZW5kIiwgZGV2KTsKKwlpZiAoZXJyIDwgMCkKKwkJ Z290byBlcnJvcjsKKwlmZWRhdGEtPmlycSA9IGVycjsKKworCWZlZGF0YS0+d3EgPSBhbGxvY193 b3JrcXVldWUoInB2Y2FsbHNfYmFja193cSIsIFdRX1VOQk9VTkQsIDEpOworCWlmICghZmVkYXRh LT53cSkgeworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycm9yOworCX0KKworCWVyciA9IHhl bmJ1c19tYXBfcmluZ192YWxsb2MoZGV2LCAmcmluZ19yZWYsIDEsICh2b2lkKiopJmZlZGF0YS0+ c3JpbmcpOworCWlmIChlcnIgPCAwKQorCQlnb3RvIGVycm9yOworCisJQkFDS19SSU5HX0lOSVQo JmZlZGF0YS0+cmluZywgZmVkYXRhLT5zcmluZywgWEVOX1BBR0VfU0laRSAqIDEpOworCWZlZGF0 YS0+ZGV2ID0gZGV2OworCisJSU5JVF9XT1JLKCZmZWRhdGEtPnJlZ2lzdGVyX3dvcmssIHB2Y2Fs bHNfYmFja193b3JrKTsKKwlJTklUX0xJU1RfSEVBRCgmZmVkYXRhLT5zb2NrZXRfbWFwcGluZ3Mp OworCUlOSVRfUkFESVhfVFJFRSgmZmVkYXRhLT5zb2NrZXRwYXNzX21hcHBpbmdzLCBHRlBfS0VS TkVMKTsKKwlzZW1hX2luaXQoJmZlZGF0YS0+c29ja2V0X2xvY2ssIDEpOworCWRldl9zZXRfZHJ2 ZGF0YSgmZGV2LT5kZXYsIGZlZGF0YSk7CisKKwlkb3duKCZwdmNhbGxzX2JhY2tfZ2xvYmFsLmZy b250ZW5kc19sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZmZWRhdGEtPmxpc3QsICZwdmNhbGxzX2Jh Y2tfZ2xvYmFsLmZyb250ZW5kcyk7CisJdXAoJnB2Y2FsbHNfYmFja19nbG9iYWwuZnJvbnRlbmRz X2xvY2spOworCXF1ZXVlX3dvcmsoZmVkYXRhLT53cSwgJmZlZGF0YS0+cmVnaXN0ZXJfd29yayk7 CisKIAlyZXR1cm4gMDsKKworIGVycm9yOgorCWlmIChmZWRhdGEtPnNyaW5nICE9IE5VTEwpCisJ CXhlbmJ1c191bm1hcF9yaW5nX3ZmcmVlKGRldiwgZmVkYXRhLT5zcmluZyk7CisJaWYgKGZlZGF0 YS0+d3EpCisJCWRlc3Ryb3lfd29ya3F1ZXVlKGZlZGF0YS0+d3EpOworCXVuYmluZF9mcm9tX2ly cWhhbmRsZXIoZmVkYXRhLT5pcnEsIGRldik7CisJa2ZyZWUoZmVkYXRhKTsKKwlyZXR1cm4gZXJy OwogfQogCiBzdGF0aWMgaW50IGJhY2tlbmRfZGlzY29ubmVjdChzdHJ1Y3QgeGVuYnVzX2Rldmlj ZSAqZGV2KQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK