From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v7 06/18] xen/pvcalls: handle commands from the frontend Date: Wed, 5 Jul 2017 14:50:46 -0700 Message-ID: <1499291458-30231-6-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 V2hlbiB0aGUgb3RoZXIgZW5kIG5vdGlmaWVzIHVzIHRoYXQgdGhlcmUgYXJlIGNvbW1hbmRzIHRv IGJlIHJlYWQKKHB2Y2FsbHNfYmFja19ldmVudCksIHdha2UgdXAgdGhlIGJhY2tlbmQgdGhyZWFk IHRvIHBhcnNlIHRoZSBjb21tYW5kLgoKVGhlIGNvbW1hbmQgcmluZyB3b3JrcyBsaWtlIG1vc3Qg b3RoZXIgWGVuIHJpbmdzLCBzbyB1c2UgdGhlIHVzdWFsCnJpbmcgbWFjcm9zIHRvIHJlYWQgYW5k IHdyaXRlIHRvIGl0LiBUaGUgZnVuY3Rpb25zIGltcGxlbWVudGluZyB0aGUKY29tbWFuZHMgYXJl IGVtcHR5IHN0dWJzIGZvciBub3cuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkg PHN0ZWZhbm9AYXBvcmV0by5jb20+CkNDOiBib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbQpDQzog amdyb3NzQHN1c2UuY29tCi0tLQogZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMgfCAxMjUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTI1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWJh Y2suYyBiL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jCmluZGV4IGViMTVkODMuLmY1NWRmNGQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3B2Y2FsbHMtYmFjay5jCisrKyBiL2RyaXZlcnMveGVu L3B2Y2FsbHMtYmFjay5jCkBAIC00OSw4ICs0OSwxMzMgQEAgc3RydWN0IHB2Y2FsbHNfZmVkYXRh IHsKIAlzdHJ1Y3Qgc2VtYXBob3JlIHNvY2tldF9sb2NrOwogfTsKIAorc3RhdGljIGludCBwdmNh bGxzX2JhY2tfc29ja2V0KHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYsCisJCXN0cnVjdCB4ZW5f cHZjYWxsc19yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHZj YWxsc19iYWNrX2Nvbm5lY3Qoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3Qg eGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50 IHB2Y2FsbHNfYmFja19yZWxlYXNlKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYsCisJCQkJc3Ry dWN0IHhlbl9wdmNhbGxzX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IGludCBwdmNhbGxzX2JhY2tfYmluZChzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2LAorCQkJICAg ICBzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiAwOworfQorCitz dGF0aWMgaW50IHB2Y2FsbHNfYmFja19saXN0ZW4oc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwK KwkJCSAgICAgICBzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiAw OworfQorCitzdGF0aWMgaW50IHB2Y2FsbHNfYmFja19hY2NlcHQoc3RydWN0IHhlbmJ1c19kZXZp Y2UgKmRldiwKKwkJCSAgICAgICBzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxKQorewor CXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHB2Y2FsbHNfYmFja19wb2xsKHN0cnVjdCB4ZW5i dXNfZGV2aWNlICpkZXYsCisJCQkgICAgIHN0cnVjdCB4ZW5fcHZjYWxsc19yZXF1ZXN0ICpyZXEp Cit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX2hhbmRsZV9jbWQo c3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVx dWVzdCAqcmVxKQoreworCWludCByZXQgPSAwOworCisJc3dpdGNoIChyZXEtPmNtZCkgeworCWNh c2UgUFZDQUxMU19TT0NLRVQ6CisJCXJldCA9IHB2Y2FsbHNfYmFja19zb2NrZXQoZGV2LCByZXEp OworCQlicmVhazsKKwljYXNlIFBWQ0FMTFNfQ09OTkVDVDoKKwkJcmV0ID0gcHZjYWxsc19iYWNr X2Nvbm5lY3QoZGV2LCByZXEpOworCQlicmVhazsKKwljYXNlIFBWQ0FMTFNfUkVMRUFTRToKKwkJ cmV0ID0gcHZjYWxsc19iYWNrX3JlbGVhc2UoZGV2LCByZXEpOworCQlicmVhazsKKwljYXNlIFBW Q0FMTFNfQklORDoKKwkJcmV0ID0gcHZjYWxsc19iYWNrX2JpbmQoZGV2LCByZXEpOworCQlicmVh azsKKwljYXNlIFBWQ0FMTFNfTElTVEVOOgorCQlyZXQgPSBwdmNhbGxzX2JhY2tfbGlzdGVuKGRl diwgcmVxKTsKKwkJYnJlYWs7CisJY2FzZSBQVkNBTExTX0FDQ0VQVDoKKwkJcmV0ID0gcHZjYWxs c19iYWNrX2FjY2VwdChkZXYsIHJlcSk7CisJCWJyZWFrOworCWNhc2UgUFZDQUxMU19QT0xMOgor CQlyZXQgPSBwdmNhbGxzX2JhY2tfcG9sbChkZXYsIHJlcSk7CisJCWJyZWFrOworCWRlZmF1bHQ6 CisJeworCQlzdHJ1Y3QgcHZjYWxsc19mZWRhdGEgKmZlZGF0YTsKKwkJc3RydWN0IHhlbl9wdmNh bGxzX3Jlc3BvbnNlICpyc3A7CisKKwkJZmVkYXRhID0gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRl dik7CisJCXJzcCA9IFJJTkdfR0VUX1JFU1BPTlNFKAorCQkJCSZmZWRhdGEtPnJpbmcsIGZlZGF0 YS0+cmluZy5yc3BfcHJvZF9wdnQrKyk7CisJCXJzcC0+cmVxX2lkID0gcmVxLT5yZXFfaWQ7CisJ CXJzcC0+Y21kID0gcmVxLT5jbWQ7CisJCXJzcC0+cmV0ID0gLUVOT1RTVVBQOworCQlicmVhazsK Kwl9CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHB2Y2FsbHNfYmFja193b3Jr KHN0cnVjdCBwdmNhbGxzX2ZlZGF0YSAqZmVkYXRhKQoreworCWludCBub3RpZnksIG5vdGlmeV9h bGwgPSAwLCBtb3JlID0gMTsKKwlzdHJ1Y3QgeGVuX3B2Y2FsbHNfcmVxdWVzdCByZXE7CisJc3Ry dWN0IHhlbmJ1c19kZXZpY2UgKmRldiA9IGZlZGF0YS0+ZGV2OworCisJd2hpbGUgKG1vcmUpIHsK KwkJd2hpbGUgKFJJTkdfSEFTX1VOQ09OU1VNRURfUkVRVUVTVFMoJmZlZGF0YS0+cmluZykpIHsK KwkJCVJJTkdfQ09QWV9SRVFVRVNUKCZmZWRhdGEtPnJpbmcsCisJCQkJCSAgZmVkYXRhLT5yaW5n LnJlcV9jb25zKyssCisJCQkJCSAgJnJlcSk7CisKKwkJCWlmICghcHZjYWxsc19iYWNrX2hhbmRs ZV9jbWQoZGV2LCAmcmVxKSkgeworCQkJCVJJTkdfUFVTSF9SRVNQT05TRVNfQU5EX0NIRUNLX05P VElGWSgKKwkJCQkJJmZlZGF0YS0+cmluZywgbm90aWZ5KTsKKwkJCQlub3RpZnlfYWxsICs9IG5v dGlmeTsKKwkJCX0KKwkJfQorCisJCWlmIChub3RpZnlfYWxsKSB7CisJCQlub3RpZnlfcmVtb3Rl X3ZpYV9pcnEoZmVkYXRhLT5pcnEpOworCQkJbm90aWZ5X2FsbCA9IDA7CisJCX0KKworCQlSSU5H X0ZJTkFMX0NIRUNLX0ZPUl9SRVFVRVNUUygmZmVkYXRhLT5yaW5nLCBtb3JlKTsKKwl9Cit9Cisg CiBzdGF0aWMgaXJxcmV0dXJuX3QgcHZjYWxsc19iYWNrX2V2ZW50KGludCBpcnEsIHZvaWQgKmRl dl9pZCkKIHsKKwlzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2ID0gZGV2X2lkOworCXN0cnVjdCBw dmNhbGxzX2ZlZGF0YSAqZmVkYXRhID0gTlVMTDsKKworCWlmIChkZXYgPT0gTlVMTCkKKwkJcmV0 dXJuIElSUV9IQU5ETEVEOworCisJZmVkYXRhID0gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRldik7 CisJaWYgKGZlZGF0YSA9PSBOVUxMKQorCQlyZXR1cm4gSVJRX0hBTkRMRUQ7CisKKwlwdmNhbGxz X2JhY2tfd29yayhmZWRhdGEpOwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAotLSAKMS45LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK