From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v7 05/18] xen/pvcalls: connect to a frontend Date: Wed, 5 Jul 2017 14:50:45 -0700 Message-ID: <1499291458-30231-5-git-send-email-sstabellini@kernel.org> References: <1499291458-30231-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: <1499291458-30231-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 dmVycy94ZW4vcHZjYWxscy1iYWNrLmMgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jIGIvZHJpdmVycy94ZW4vcHZjYWxs cy1iYWNrLmMKaW5kZXggNzJkMmZjZS4uZWIxNWQ4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4v cHZjYWxscy1iYWNrLmMKKysrIGIvZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMKQEAgLTMzLDkg KzMzLDkwIEBAIHN0cnVjdCBwdmNhbGxzX2JhY2tfZ2xvYmFsIHsKIAlzdHJ1Y3Qgc2VtYXBob3Jl IGZyb250ZW5kc19sb2NrOwogfSBwdmNhbGxzX2JhY2tfZ2xvYmFsOwogCisvKgorICogUGVyLWZy b250ZW5kIGRhdGEgc3RydWN0dXJlLiBJdCBjb250YWlucyBwb2ludGVycyB0byB0aGUgY29tbWFu ZAorICogcmluZywgaXRzIGV2ZW50IGNoYW5uZWwsIGEgbGlzdCBvZiBhY3RpdmUgc29ja2V0cyBh bmQgYSB0cmVlIG9mCisgKiBwYXNzaXZlIHNvY2tldHMuCisgKi8KK3N0cnVjdCBwdmNhbGxzX2Zl ZGF0YSB7CisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCXN0cnVjdCB4ZW5idXNfZGV2aWNlICpk ZXY7CisJc3RydWN0IHhlbl9wdmNhbGxzX3NyaW5nICpzcmluZzsKKwlzdHJ1Y3QgeGVuX3B2Y2Fs bHNfYmFja19yaW5nIHJpbmc7CisJaW50IGlycTsKKwlzdHJ1Y3QgbGlzdF9oZWFkIHNvY2tldF9t YXBwaW5nczsKKwlzdHJ1Y3QgcmFkaXhfdHJlZV9yb290IHNvY2tldHBhc3NfbWFwcGluZ3M7CisJ c3RydWN0IHNlbWFwaG9yZSBzb2NrZXRfbG9jazsKK307CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBw dmNhbGxzX2JhY2tfZXZlbnQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXJldHVybiBJUlFf SEFORExFRDsKK30KKwogc3RhdGljIGludCBiYWNrZW5kX2Nvbm5lY3Qoc3RydWN0IHhlbmJ1c19k ZXZpY2UgKmRldikKIHsKKwlpbnQgZXJyLCBldnRjaG47CisJZ3JhbnRfcmVmX3QgcmluZ19yZWY7 CisJc3RydWN0IHB2Y2FsbHNfZmVkYXRhICpmZWRhdGEgPSBOVUxMOworCisJZmVkYXRhID0ga3ph bGxvYyhzaXplb2Yoc3RydWN0IHB2Y2FsbHNfZmVkYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFm ZWRhdGEpCisJCXJldHVybiAtRU5PTUVNOworCisJZmVkYXRhLT5pcnEgPSAtMTsKKwllcnIgPSB4 ZW5idXNfc2NhbmYoWEJUX05JTCwgZGV2LT5vdGhlcmVuZCwgInBvcnQiLCAiJXUiLAorCQkJICAg JmV2dGNobik7CisJaWYgKGVyciAhPSAxKSB7CisJCWVyciA9IC1FSU5WQUw7CisJCXhlbmJ1c19k ZXZfZmF0YWwoZGV2LCBlcnIsICJyZWFkaW5nICVzL2V2ZW50LWNoYW5uZWwiLAorCQkJCSBkZXYt Pm90aGVyZW5kKTsKKwkJZ290byBlcnJvcjsKKwl9CisKKwllcnIgPSB4ZW5idXNfc2NhbmYoWEJU X05JTCwgZGV2LT5vdGhlcmVuZCwgInJpbmctcmVmIiwgIiV1IiwgJnJpbmdfcmVmKTsKKwlpZiAo ZXJyICE9IDEpIHsKKwkJZXJyID0gLUVJTlZBTDsKKwkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVy ciwgInJlYWRpbmcgJXMvcmluZy1yZWYiLAorCQkJCSBkZXYtPm90aGVyZW5kKTsKKwkJZ290byBl cnJvcjsKKwl9CisKKwllcnIgPSBiaW5kX2ludGVyZG9tYWluX2V2dGNobl90b19pcnEoZGV2LT5v dGhlcmVuZF9pZCwgZXZ0Y2huKTsKKwlpZiAoZXJyIDwgMCkKKwkJZ290byBlcnJvcjsKKwlmZWRh dGEtPmlycSA9IGVycjsKKworCWVyciA9IHJlcXVlc3RfdGhyZWFkZWRfaXJxKGZlZGF0YS0+aXJx LCBOVUxMLCBwdmNhbGxzX2JhY2tfZXZlbnQsCisJCQkJICAgSVJRRl9PTkVTSE9ULCAicHZjYWxs cy1iYWNrIiwgZGV2KTsKKwlpZiAoZXJyIDwgMCkKKyAJCWdvdG8gZXJyb3I7CisKKwllcnIgPSB4 ZW5idXNfbWFwX3JpbmdfdmFsbG9jKGRldiwgJnJpbmdfcmVmLCAxLCAodm9pZCoqKSZmZWRhdGEt PnNyaW5nKTsKKwlpZiAoZXJyIDwgMCkKKwkJZ290byBlcnJvcjsKKworCUJBQ0tfUklOR19JTklU KCZmZWRhdGEtPnJpbmcsIGZlZGF0YS0+c3JpbmcsIFhFTl9QQUdFX1NJWkUgKiAxKTsKKwlmZWRh dGEtPmRldiA9IGRldjsKKworCUlOSVRfTElTVF9IRUFEKCZmZWRhdGEtPnNvY2tldF9tYXBwaW5n cyk7CisJSU5JVF9SQURJWF9UUkVFKCZmZWRhdGEtPnNvY2tldHBhc3NfbWFwcGluZ3MsIEdGUF9L RVJORUwpOworCXNlbWFfaW5pdCgmZmVkYXRhLT5zb2NrZXRfbG9jaywgMSk7CisJZGV2X3NldF9k cnZkYXRhKCZkZXYtPmRldiwgZmVkYXRhKTsKKworCWRvd24oJnB2Y2FsbHNfYmFja19nbG9iYWwu ZnJvbnRlbmRzX2xvY2spOworCWxpc3RfYWRkX3RhaWwoJmZlZGF0YS0+bGlzdCwgJnB2Y2FsbHNf YmFja19nbG9iYWwuZnJvbnRlbmRzKTsKKwl1cCgmcHZjYWxsc19iYWNrX2dsb2JhbC5mcm9udGVu ZHNfbG9jayk7CisKIAlyZXR1cm4gMDsKKworIGVycm9yOgorCWlmIChmZWRhdGEtPmlycSA+PSAw KQorCQl1bmJpbmRfZnJvbV9pcnFoYW5kbGVyKGZlZGF0YS0+aXJxLCBkZXYpOworCWlmIChmZWRh dGEtPnNyaW5nICE9IE5VTEwpCisJCXhlbmJ1c191bm1hcF9yaW5nX3ZmcmVlKGRldiwgZmVkYXRh LT5zcmluZyk7CisJa2ZyZWUoZmVkYXRhKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50 IGJhY2tlbmRfZGlzY29ubmVjdChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2KQotLSAKMS45LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK