From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v7 13/18] xen/pvcalls: implement release command Date: Wed, 5 Jul 2017 14:50:53 -0700 Message-ID: <1499291458-30231-13-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 UmVsZWFzZSBib3RoIGFjdGl2ZSBhbmQgcGFzc2l2ZSBzb2NrZXRzLiBGb3IgYWN0aXZlIHNvY2tl dHMsIG1ha2Ugc3VyZQp0byBhdm9pZCBwb3NzaWJsZSBjb25mbGljdHMgd2l0aCB0aGUgaW93b3Jr ZXIgcmVhZGluZy93cml0aW5nIHRvIHRob3NlCnNvY2tldHMgY29uY3VycmVudGx5LiBTZXQgbWFw LT5yZWxlYXNlIHRvIGxldCB0aGUgaW93b3JrZXIga25vdwphdG9taWNhbGx5IHRoYXQgdGhlIHNv Y2tldCB3aWxsIGJlIHJlbGVhc2VkIHNvb24sIHRoZW4gd2FpdCB1bnRpbCB0aGUKaW93b3JrZXIg ZmluaXNoZXMgKGZsdXNoX3dvcmspLgoKVW5tYXAgaW5kZXhlcyBwYWdlcyBhbmQgZGF0YSByaW5n cy4KClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub0BhcG9yZXRvLmNv bT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQ0M6IGJvcmlz Lm9zdHJvdnNreUBvcmFjbGUuY29tCkNDOiBqZ3Jvc3NAc3VzZS5jb20KLS0tCiBkcml2ZXJzL3hl bi9wdmNhbGxzLWJhY2suYyB8IDY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMgYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWJhY2su YwppbmRleCBkODQ3NmZlLi41YWMyNmQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9wdmNhbGxz LWJhY2suYworKysgYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWJhY2suYwpAQCAtMjcyLDEyICsyNzIs ODAgQEAgc3RhdGljIGludCBwdmNhbGxzX2JhY2tfcmVsZWFzZV9hY3RpdmUoc3RydWN0IHhlbmJ1 c19kZXZpY2UgKmRldiwKIAkJCQkgICAgICAgc3RydWN0IHB2Y2FsbHNfZmVkYXRhICpmZWRhdGEs CiAJCQkJICAgICAgIHN0cnVjdCBzb2NrX21hcHBpbmcgKm1hcCkKIHsKKwlkaXNhYmxlX2lycSht YXAtPmlycSk7CisJaWYgKG1hcC0+c29jay0+c2sgIT0gTlVMTCkgeworCQl3cml0ZV9sb2NrX2Jo KCZtYXAtPnNvY2stPnNrLT5za19jYWxsYmFja19sb2NrKTsKKwkJbWFwLT5zb2NrLT5zay0+c2tf dXNlcl9kYXRhID0gTlVMTDsKKwkJbWFwLT5zb2NrLT5zay0+c2tfZGF0YV9yZWFkeSA9IG1hcC0+ c2F2ZWRfZGF0YV9yZWFkeTsKKwkJd3JpdGVfdW5sb2NrX2JoKCZtYXAtPnNvY2stPnNrLT5za19j YWxsYmFja19sb2NrKTsKKwl9CisKKwlhdG9taWNfc2V0KCZtYXAtPnJlbGVhc2UsIDEpOworCWZs dXNoX3dvcmsoJm1hcC0+aW93b3JrZXIucmVnaXN0ZXJfd29yayk7CisKKwl4ZW5idXNfdW5tYXBf cmluZ192ZnJlZShkZXYsIG1hcC0+Ynl0ZXMpOworCXhlbmJ1c191bm1hcF9yaW5nX3ZmcmVlKGRl diwgKHZvaWQgKiltYXAtPnJpbmcpOworCXVuYmluZF9mcm9tX2lycWhhbmRsZXIobWFwLT5pcnEs IG1hcCk7CisKKwlzb2NrX3JlbGVhc2UobWFwLT5zb2NrKTsKKwlrZnJlZShtYXApOworCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHZjYWxsc19iYWNrX3JlbGVhc2VfcGFzc2l2ZShzdHJ1 Y3QgeGVuYnVzX2RldmljZSAqZGV2LAorCQkJCQlzdHJ1Y3QgcHZjYWxsc19mZWRhdGEgKmZlZGF0 YSwKKwkJCQkJc3RydWN0IHNvY2twYXNzX21hcHBpbmcgKm1hcHBhc3MpCit7CisJaWYgKG1hcHBh c3MtPnNvY2stPnNrICE9IE5VTEwpIHsKKwkJd3JpdGVfbG9ja19iaCgmbWFwcGFzcy0+c29jay0+ c2stPnNrX2NhbGxiYWNrX2xvY2spOworCQltYXBwYXNzLT5zb2NrLT5zay0+c2tfdXNlcl9kYXRh ID0gTlVMTDsKKwkJbWFwcGFzcy0+c29jay0+c2stPnNrX2RhdGFfcmVhZHkgPSBtYXBwYXNzLT5z YXZlZF9kYXRhX3JlYWR5OworCQl3cml0ZV91bmxvY2tfYmgoJm1hcHBhc3MtPnNvY2stPnNrLT5z a19jYWxsYmFja19sb2NrKTsKKwl9CisJc29ja19yZWxlYXNlKG1hcHBhc3MtPnNvY2spOworCWZs dXNoX3dvcmtxdWV1ZShtYXBwYXNzLT53cSk7CisJZGVzdHJveV93b3JrcXVldWUobWFwcGFzcy0+ d3EpOworCWtmcmVlKG1hcHBhc3MpOworCiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgcHZj YWxsc19iYWNrX3JlbGVhc2Uoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKIAkJCQlzdHJ1Y3Qg eGVuX3B2Y2FsbHNfcmVxdWVzdCAqcmVxKQogeworCXN0cnVjdCBwdmNhbGxzX2ZlZGF0YSAqZmVk YXRhOworCXN0cnVjdCBzb2NrX21hcHBpbmcgKm1hcCwgKm47CisJc3RydWN0IHNvY2twYXNzX21h cHBpbmcgKm1hcHBhc3M7CisJaW50IHJldCA9IDA7CisJc3RydWN0IHhlbl9wdmNhbGxzX3Jlc3Bv bnNlICpyc3A7CisKKwlmZWRhdGEgPSBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2KTsKKworCWRv d24oJmZlZGF0YS0+c29ja2V0X2xvY2spOworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShtYXAs IG4sICZmZWRhdGEtPnNvY2tldF9tYXBwaW5ncywgbGlzdCkgeworCQlpZiAobWFwLT5pZCA9PSBy ZXEtPnUucmVsZWFzZS5pZCkgeworCQkJbGlzdF9kZWwoJm1hcC0+bGlzdCk7CisJCQl1cCgmZmVk YXRhLT5zb2NrZXRfbG9jayk7CisJCQlyZXQgPSBwdmNhbGxzX2JhY2tfcmVsZWFzZV9hY3RpdmUo ZGV2LCBmZWRhdGEsIG1hcCk7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKwltYXBwYXNzID0gcmFk aXhfdHJlZV9sb29rdXAoJmZlZGF0YS0+c29ja2V0cGFzc19tYXBwaW5ncywKKwkJCQkgICAgcmVx LT51LnJlbGVhc2UuaWQpOworCWlmIChtYXBwYXNzICE9IE5VTEwpIHsKKwkJcmFkaXhfdHJlZV9k ZWxldGUoJmZlZGF0YS0+c29ja2V0cGFzc19tYXBwaW5ncywgbWFwcGFzcy0+aWQpOworCQl1cCgm ZmVkYXRhLT5zb2NrZXRfbG9jayk7CisJCXJldCA9IHB2Y2FsbHNfYmFja19yZWxlYXNlX3Bhc3Np dmUoZGV2LCBmZWRhdGEsIG1hcHBhc3MpOworCX0gZWxzZQorCQl1cCgmZmVkYXRhLT5zb2NrZXRf bG9jayk7CisKK291dDoKKwlyc3AgPSBSSU5HX0dFVF9SRVNQT05TRSgmZmVkYXRhLT5yaW5nLCBm ZWRhdGEtPnJpbmcucnNwX3Byb2RfcHZ0KyspOworCXJzcC0+cmVxX2lkID0gcmVxLT5yZXFfaWQ7 CisJcnNwLT51LnJlbGVhc2UuaWQgPSByZXEtPnUucmVsZWFzZS5pZDsKKwlyc3AtPmNtZCA9IHJl cS0+Y21kOworCXJzcC0+cmV0ID0gcmV0OwogCXJldHVybiAwOwogfQogCi0tIAoxLjkuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=