From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v4 06/18] xen/pvcalls: handle commands from the frontend Date: Thu, 15 Jun 2017 12:09:35 -0700 Message-ID: <1497553787-3709-6-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 V2hlbiB0aGUgb3RoZXIgZW5kIG5vdGlmaWVzIHVzIHRoYXQgdGhlcmUgYXJlIGNvbW1hbmRzIHRv IGJlIHJlYWQKKHB2Y2FsbHNfYmFja19ldmVudCksIHdha2UgdXAgdGhlIGJhY2tlbmQgdGhyZWFk IHRvIHBhcnNlIHRoZSBjb21tYW5kLgoKVGhlIGNvbW1hbmQgcmluZyB3b3JrcyBsaWtlIG1vc3Qg b3RoZXIgWGVuIHJpbmdzLCBzbyB1c2UgdGhlIHVzdWFsCnJpbmcgbWFjcm9zIHRvIHJlYWQgYW5k IHdyaXRlIHRvIGl0LiBUaGUgZnVuY3Rpb25zIGltcGxlbWVudGluZyB0aGUKY29tbWFuZHMgYXJl IGVtcHR5IHN0dWJzIGZvciBub3cuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkg PHN0ZWZhbm9AYXBvcmV0by5jb20+CkNDOiBib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbQpDQzog amdyb3NzQHN1c2UuY29tCi0tLQogZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMgfCAxMTkgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTE5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWJh Y2suYyBiL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jCmluZGV4IGU0YzJlNDYuLjQzN2MyYWQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jCisrKyBiL2RyaXZlcnMveGVu L3B2Y2FsbHMtYmFjay5jCkBAIC01MSwxMiArNTEsMTMxIEBAIHN0cnVjdCBwdmNhbGxzX2ZlZGF0 YSB7CiAJc3RydWN0IHdvcmtfc3RydWN0IHJlZ2lzdGVyX3dvcms7CiB9OwogCitzdGF0aWMgaW50 IHB2Y2FsbHNfYmFja19zb2NrZXQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJc3RydWN0 IHhlbl9wdmNhbGxzX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlu dCBwdmNhbGxzX2JhY2tfY29ubmVjdChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2LAorCQkJCXN0 cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRp YyBpbnQgcHZjYWxsc19iYWNrX3JlbGVhc2Uoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJ CQlzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiAwOworfQorCitz dGF0aWMgaW50IHB2Y2FsbHNfYmFja19iaW5kKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYsCisJ CQkgICAgIHN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX2xpc3RlbihzdHJ1Y3QgeGVuYnVzX2RldmljZSAq ZGV2LAorCQkJICAgICAgIHN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEpCit7CisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX2FjY2VwdChzdHJ1Y3QgeGVuYnVz X2RldmljZSAqZGV2LAorCQkJICAgICAgIHN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEp Cit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX3BvbGwoc3RydWN0 IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJCSAgICAgc3RydWN0IHhlbl9wdmNhbGxzX3JlcXVlc3Qg KnJlcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwdmNhbGxzX2JhY2tfaGFuZGxl X2NtZChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCB4ZW5fcHZjYWxs c19yZXF1ZXN0ICpyZXEpCit7CisJaW50IHJldCA9IDA7CisKKwlzd2l0Y2ggKHJlcS0+Y21kKSB7 CisJY2FzZSBQVkNBTExTX1NPQ0tFVDoKKwkJcmV0ID0gcHZjYWxsc19iYWNrX3NvY2tldChkZXYs IHJlcSk7CisJCWJyZWFrOworCWNhc2UgUFZDQUxMU19DT05ORUNUOgorCQlyZXQgPSBwdmNhbGxz X2JhY2tfY29ubmVjdChkZXYsIHJlcSk7CisJCWJyZWFrOworCWNhc2UgUFZDQUxMU19SRUxFQVNF OgorCQlyZXQgPSBwdmNhbGxzX2JhY2tfcmVsZWFzZShkZXYsIHJlcSk7CisJCWJyZWFrOworCWNh c2UgUFZDQUxMU19CSU5EOgorCQlyZXQgPSBwdmNhbGxzX2JhY2tfYmluZChkZXYsIHJlcSk7CisJ CWJyZWFrOworCWNhc2UgUFZDQUxMU19MSVNURU46CisJCXJldCA9IHB2Y2FsbHNfYmFja19saXN0 ZW4oZGV2LCByZXEpOworCQlicmVhazsKKwljYXNlIFBWQ0FMTFNfQUNDRVBUOgorCQlyZXQgPSBw dmNhbGxzX2JhY2tfYWNjZXB0KGRldiwgcmVxKTsKKwkJYnJlYWs7CisJY2FzZSBQVkNBTExTX1BP TEw6CisJCXJldCA9IHB2Y2FsbHNfYmFja19wb2xsKGRldiwgcmVxKTsKKwkJYnJlYWs7CisJZGVm YXVsdDoKKwkJcmV0ID0gLUVOT1RTVVBQOworCQlicmVhazsKKwl9CisJcmV0dXJuIHJldDsKK30K Kwogc3RhdGljIHZvaWQgcHZjYWxsc19iYWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQogeworCXN0cnVjdCBwdmNhbGxzX2ZlZGF0YSAqZmVkYXRhID0gY29udGFpbmVyX29mKHdvcmss CisJCXN0cnVjdCBwdmNhbGxzX2ZlZGF0YSwgcmVnaXN0ZXJfd29yayk7CisJaW50IG5vdGlmeSwg bm90aWZ5X2FsbCA9IDAsIG1vcmUgPSAxOworCXN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0IHJl cTsKKwlzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2ID0gZmVkYXRhLT5kZXY7CisKKwl3aGlsZSAo bW9yZSkgeworCQl3aGlsZSAoUklOR19IQVNfVU5DT05TVU1FRF9SRVFVRVNUUygmZmVkYXRhLT5y aW5nKSkgeworCQkJUklOR19DT1BZX1JFUVVFU1QoJmZlZGF0YS0+cmluZywKKwkJCQkJICBmZWRh dGEtPnJpbmcucmVxX2NvbnMrKywKKwkJCQkJICAmcmVxKTsKKworCQkJaWYgKCFwdmNhbGxzX2Jh Y2tfaGFuZGxlX2NtZChkZXYsICZyZXEpKSB7CisJCQkJUklOR19QVVNIX1JFU1BPTlNFU19BTkRf Q0hFQ0tfTk9USUZZKAorCQkJCQkmZmVkYXRhLT5yaW5nLCBub3RpZnkpOworCQkJCW5vdGlmeV9h bGwgKz0gbm90aWZ5OworCQkJfQorCQl9CisKKwkJaWYgKG5vdGlmeV9hbGwpCisJCQlub3RpZnlf cmVtb3RlX3ZpYV9pcnEoZmVkYXRhLT5pcnEpOworCisJCVJJTkdfRklOQUxfQ0hFQ0tfRk9SX1JF UVVFU1RTKCZmZWRhdGEtPnJpbmcsIG1vcmUpOworCX0KIH0KIAogc3RhdGljIGlycXJldHVybl90 IHB2Y2FsbHNfYmFja19ldmVudChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CisJc3RydWN0IHhl bmJ1c19kZXZpY2UgKmRldiA9IGRldl9pZDsKKwlzdHJ1Y3QgcHZjYWxsc19mZWRhdGEgKmZlZGF0 YSA9IE5VTEw7CisKKwlpZiAoZGV2ID09IE5VTEwpCisJCXJldHVybiBJUlFfSEFORExFRDsKKwor CWZlZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmZGV2LT5kZXYpOworCWlmIChmZWRhdGEgPT0gTlVM TCkKKwkJcmV0dXJuIElSUV9IQU5ETEVEOworCisJLyoKKwkgKiBUT0RPOiBhIHNtYWxsIHRoZW9y ZXRpY2FsIHJhY2UgZXhpc3RzIGlmIHdlIHRyeSB0byBxdWV1ZSB3b3JrCisJICogYWZ0ZXIgcHZj YWxsc19iYWNrX3dvcmsgY2hlY2tlZCBmb3IgZmluYWwgcmVxdWVzdHMgYW5kIGJlZm9yZQorCSAq IGl0IHJldHVybnMuIFRoZSBxdWV1aW5nIHdpbGwgZmFpbCwgYW5kIHB2Y2FsbHNfYmFja193b3Jr CisJICogd29uJ3QgZG8gdGhlIHdvcmsgYmVjYXVzZSBpdCBpcyBhYm91dCB0byByZXR1cm4uIElu IHRoYXQKKwkgKiBjYXNlLCB3ZSBsb3NlIHRoZSBub3RpZmljYXRpb24uCisJICovCisJcXVldWVf d29yayhmZWRhdGEtPndxLCAmZmVkYXRhLT5yZWdpc3Rlcl93b3JrKTsKKwogCXJldHVybiBJUlFf SEFORExFRDsKIH0KIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK