From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v2 06/18] xen/pvcalls: handle commands from the frontend Date: Fri, 19 May 2017 16:22:47 -0700 Message-ID: <1495236179-27776-6-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 V2hlbiB0aGUgb3RoZXIgZW5kIG5vdGlmaWVzIHVzIHRoYXQgdGhlcmUgYXJlIGNvbW1hbmRzIHRv IGJlIHJlYWQKKHB2Y2FsbHNfYmFja19ldmVudCksIHdha2UgdXAgdGhlIGJhY2tlbmQgdGhyZWFk IHRvIHBhcnNlIHRoZSBjb21tYW5kLgoKVGhlIGNvbW1hbmQgcmluZyB3b3JrcyBsaWtlIG1vc3Qg b3RoZXIgWGVuIHJpbmdzLCBzbyB1c2UgdGhlIHVzdWFsCnJpbmcgbWFjcm9zIHRvIHJlYWQgYW5k IHdyaXRlIHRvIGl0LiBUaGUgZnVuY3Rpb25zIGltcGxlbWVudGluZyB0aGUKY29tbWFuZHMgYXJl IGVtcHR5IHN0dWJzIGZvciBub3cuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkg PHN0ZWZhbm9AYXBvcmV0by5jb20+CkNDOiBib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbQpDQzog amdyb3NzQHN1c2UuY29tCi0tLQogZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMgfCAxMTUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTE1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWJh Y2suYyBiL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jCmluZGV4IGE0OGIwZDkuLjlkYzhhMjgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jCisrKyBiL2RyaXZlcnMveGVu L3B2Y2FsbHMtYmFjay5jCkBAIC01MiwxMiArNTIsMTI3IEBAIHN0cnVjdCBwdmNhbGxzX2JhY2tf cHJpdiB7CiAJc3RydWN0IHdvcmtfc3RydWN0IHJlZ2lzdGVyX3dvcms7CiB9OwogCitzdGF0aWMg aW50IHB2Y2FsbHNfYmFja19zb2NrZXQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJc3Ry dWN0IHhlbl9wdmNhbGxzX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IGludCBwdmNhbGxzX2JhY2tfY29ubmVjdChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2LAorCQkJ CXN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBpbnQgcHZjYWxsc19iYWNrX3JlbGVhc2Uoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwK KwkJCQlzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiAwOworfQor CitzdGF0aWMgaW50IHB2Y2FsbHNfYmFja19iaW5kKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYs CisJCQkgICAgIHN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX2xpc3RlbihzdHJ1Y3QgeGVuYnVzX2Rldmlj ZSAqZGV2LAorCQkJICAgICAgIHN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEpCit7CisJ cmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX2FjY2VwdChzdHJ1Y3QgeGVu YnVzX2RldmljZSAqZGV2LAorCQkJICAgICAgIHN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpy ZXEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX3BvbGwoc3Ry dWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJCSAgICAgc3RydWN0IHhlbl9wdmNhbGxzX3JlcXVl c3QgKnJlcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwdmNhbGxzX2JhY2tfaGFu ZGxlX2NtZChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCB4ZW5fcHZj YWxsc19yZXF1ZXN0ICpyZXEpCit7CisJaW50IHJldCA9IDA7CisKKwlzd2l0Y2ggKHJlcS0+Y21k KSB7CisJY2FzZSBQVkNBTExTX1NPQ0tFVDoKKwkJcmV0ID0gcHZjYWxsc19iYWNrX3NvY2tldChk ZXYsIHJlcSk7CisJCWJyZWFrOworCWNhc2UgUFZDQUxMU19DT05ORUNUOgorCQlyZXQgPSBwdmNh bGxzX2JhY2tfY29ubmVjdChkZXYsIHJlcSk7CisJCWJyZWFrOworCWNhc2UgUFZDQUxMU19SRUxF QVNFOgorCQlyZXQgPSBwdmNhbGxzX2JhY2tfcmVsZWFzZShkZXYsIHJlcSk7CisJCWJyZWFrOwor CWNhc2UgUFZDQUxMU19CSU5EOgorCQlyZXQgPSBwdmNhbGxzX2JhY2tfYmluZChkZXYsIHJlcSk7 CisJCWJyZWFrOworCWNhc2UgUFZDQUxMU19MSVNURU46CisJCXJldCA9IHB2Y2FsbHNfYmFja19s aXN0ZW4oZGV2LCByZXEpOworCQlicmVhazsKKwljYXNlIFBWQ0FMTFNfQUNDRVBUOgorCQlyZXQg PSBwdmNhbGxzX2JhY2tfYWNjZXB0KGRldiwgcmVxKTsKKwkJYnJlYWs7CisJY2FzZSBQVkNBTExT X1BPTEw6CisJCXJldCA9IHB2Y2FsbHNfYmFja19wb2xsKGRldiwgcmVxKTsKKwkJYnJlYWs7CisJ ZGVmYXVsdDoKKwkJcmV0ID0gLUVOT1RTVVBQOworCQlicmVhazsKKwl9CisJcmV0dXJuIHJldDsK K30KKwogc3RhdGljIHZvaWQgcHZjYWxsc19iYWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKQogeworCXN0cnVjdCBwdmNhbGxzX2JhY2tfcHJpdiAqcHJpdiA9IGNvbnRhaW5lcl9vZih3 b3JrLAorCQlzdHJ1Y3QgcHZjYWxsc19iYWNrX3ByaXYsIHJlZ2lzdGVyX3dvcmspOworCWludCBu b3RpZnksIG5vdGlmeV9hbGwgPSAwLCBtb3JlID0gMTsKKwlzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVx dWVzdCByZXE7CisJc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiA9IHByaXYtPmRldjsKKworCWF0 b21pY19zZXQoJnByaXYtPndvcmssIDEpOworCisJd2hpbGUgKG1vcmUgfHwgIWF0b21pY19kZWNf YW5kX3Rlc3QoJnByaXYtPndvcmspKSB7CisJCXdoaWxlIChSSU5HX0hBU19VTkNPTlNVTUVEX1JF UVVFU1RTKCZwcml2LT5yaW5nKSkgeworCQkJUklOR19DT1BZX1JFUVVFU1QoJnByaXYtPnJpbmcs CisJCQkJCSAgcHJpdi0+cmluZy5yZXFfY29ucysrLAorCQkJCQkgICZyZXEpOworCisJCQlpZiAo IXB2Y2FsbHNfYmFja19oYW5kbGVfY21kKGRldiwgJnJlcSkpIHsKKwkJCQlSSU5HX1BVU0hfUkVT UE9OU0VTX0FORF9DSEVDS19OT1RJRlkoCisJCQkJCSZwcml2LT5yaW5nLCBub3RpZnkpOworCQkJ CW5vdGlmeV9hbGwgKz0gbm90aWZ5OworCQkJfQorCQl9CisKKwkJaWYgKG5vdGlmeV9hbGwpCisJ CQlub3RpZnlfcmVtb3RlX3ZpYV9pcnEocHJpdi0+aXJxKTsKKworCQlSSU5HX0ZJTkFMX0NIRUNL X0ZPUl9SRVFVRVNUUygmcHJpdi0+cmluZywgbW9yZSk7CisJfQogfQogCiBzdGF0aWMgaXJxcmV0 dXJuX3QgcHZjYWxsc19iYWNrX2V2ZW50KGludCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKKwlzdHJ1 Y3QgeGVuYnVzX2RldmljZSAqZGV2ID0gZGV2X2lkOworCXN0cnVjdCBwdmNhbGxzX2JhY2tfcHJp diAqcHJpdiA9IE5VTEw7CisKKwlpZiAoZGV2ID09IE5VTEwpCisJCXJldHVybiBJUlFfSEFORExF RDsKKworCXByaXYgPSBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2KTsKKwlpZiAocHJpdiA9PSBO VUxMKQorCQlyZXR1cm4gSVJRX0hBTkRMRUQ7CisKKwlhdG9taWNfaW5jKCZwcml2LT53b3JrKTsK KwlxdWV1ZV93b3JrKHByaXYtPndxLCAmcHJpdi0+cmVnaXN0ZXJfd29yayk7CisKIAlyZXR1cm4g SVJRX0hBTkRMRUQ7CiB9CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==