From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Christopherson Date: Tue, 21 Jan 2020 22:31:47 +0000 Subject: [PATCH v5 09/19] KVM: Move setting of memslot into helper routine Message-Id: <20200121223157.15263-10-sean.j.christopherson@intel.com> List-Id: References: <20200121223157.15263-1-sean.j.christopherson@intel.com> In-Reply-To: <20200121223157.15263-1-sean.j.christopherson@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="macroman" Content-Transfer-Encoding: base64 To: Paolo Bonzini Cc: Paul Mackerras , Christian Borntraeger , Janosch Frank , David Hildenbrand , Cornelia Huck , Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Marc Zyngier , James Morse , Julien Thierry , Suzuki K Poulose , linux-mips@vger.kernel.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, Christoffer Dall , Peter Xu , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= U3BsaXQgb3V0IHRoZSBjb3JlIGZ1bmN0aW9uYWxpdHkgb2Ygc2V0dGluZyBhIG1lbXNsb3QgaW50 byBhIHNlcGFyYXRlCmhlbHBlciBpbiBwcmVwYXJhdGlvbiBmb3IgbW92aW5nIG1lbXNsb3QgZGVs ZXRpb24gaW50byBpdHMgb3duIHJvdXRpbmUuCgpUZXN0ZWQtYnk6IENocmlzdG9mZmVyIERhbGwg PGNocmlzdG9mZmVyLmRhbGxAYXJtLmNvbT4KUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1hdGhpZXUt RGF1ZMOpIDxmNGJ1Z0BhbXNhdC5vcmc+ClNpZ25lZC1vZmYtYnk6IFNlYW4gQ2hyaXN0b3BoZXJz b24gPHNlYW4uai5jaHJpc3RvcGhlcnNvbkBpbnRlbC5jb20+Ci0tLQogdmlydC9rdm0va3ZtX21h aW4uYyB8IDEwNiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3ZpcnQva3ZtL2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCmluZGV4IGZk ZjA0NWE1ZDI0MC4uNjRmNmM1ZDM1MjYwIDEwMDY0NAotLS0gYS92aXJ0L2t2bS9rdm1fbWFpbi5j CisrKyBiL3ZpcnQva3ZtL2t2bV9tYWluLmMKQEAgLTk4Miw2ICs5ODIsNjYgQEAgc3RhdGljIHN0 cnVjdCBrdm1fbWVtc2xvdHMgKmluc3RhbGxfbmV3X21lbXNsb3RzKHN0cnVjdCBrdm0gKmt2bSwK IAlyZXR1cm4gb2xkX21lbXNsb3RzOwogfQogCitzdGF0aWMgaW50IGt2bV9zZXRfbWVtc2xvdChz dHJ1Y3Qga3ZtICprdm0sCisJCQkgICBjb25zdCBzdHJ1Y3Qga3ZtX3VzZXJzcGFjZV9tZW1vcnlf cmVnaW9uICptZW0sCisJCQkgICBjb25zdCBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpvbGQsCisJ CQkgICBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpuZXcsIGludCBhc19pZCwKKwkJCSAgIGVudW0g a3ZtX21yX2NoYW5nZSBjaGFuZ2UpCit7CisJc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdDsK KwlzdHJ1Y3Qga3ZtX21lbXNsb3RzICpzbG90czsKKwlpbnQgcjsKKworCXNsb3RzID0ga3Z6YWxs b2Moc2l6ZW9mKHN0cnVjdCBrdm1fbWVtc2xvdHMpLCBHRlBfS0VSTkVMX0FDQ09VTlQpOworCWlm ICghc2xvdHMpCisJCXJldHVybiAtRU5PTUVNOworCW1lbWNweShzbG90cywgX19rdm1fbWVtc2xv dHMoa3ZtLCBhc19pZCksIHNpemVvZihzdHJ1Y3Qga3ZtX21lbXNsb3RzKSk7CisKKwlpZiAoY2hh bmdlID0gS1ZNX01SX0RFTEVURSB8fCBjaGFuZ2UgPSBLVk1fTVJfTU9WRSkgeworCQkvKgorCQkg KiBOb3RlLCB0aGUgSU5WQUxJRCBmbGFnIG5lZWRzIHRvIGJlIGluIHRoZSBhcHByb3ByaWF0ZSBl bnRyeQorCQkgKiBpbiB0aGUgZnJlc2hseSBhbGxvY2F0ZWQgbWVtc2xvdHMsIG5vdCBpbiBAb2xk IG9yIEBuZXcuCisJCSAqLworCQlzbG90ID0gaWRfdG9fbWVtc2xvdChzbG90cywgb2xkLT5pZCk7 CisJCXNsb3QtPmZsYWdzIHw9IEtWTV9NRU1TTE9UX0lOVkFMSUQ7CisKKwkJLyoKKwkJICogV2Ug Y2FuIHJlLXVzZSB0aGUgb2xkIG1lbXNsb3RzLCB0aGUgb25seSBkaWZmZXJlbmNlIGZyb20gdGhl CisJCSAqIG5ld2x5IGluc3RhbGxlZCBtZW1zbG90cyBpcyB0aGUgaW52YWxpZCBmbGFnLCB3aGlj aCB3aWxsIGdldAorCQkgKiBkcm9wcGVkIGJ5IHVwZGF0ZV9tZW1zbG90cyBhbnl3YXkuICBXZSds bCBhbHNvIHJldmVydCB0byB0aGUKKwkJICogb2xkIG1lbXNsb3RzIGlmIHByZXBhcmluZyB0aGUg bmV3IG1lbW9yeSByZWdpb24gZmFpbHMuCisJCSAqLworCQlzbG90cyA9IGluc3RhbGxfbmV3X21l bXNsb3RzKGt2bSwgYXNfaWQsIHNsb3RzKTsKKworCQkvKiBGcm9tIHRoaXMgcG9pbnQgbm8gbmV3 IHNoYWRvdyBwYWdlcyBwb2ludGluZyB0byBhIGRlbGV0ZWQsCisJCSAqIG9yIG1vdmVkLCBtZW1z bG90IHdpbGwgYmUgY3JlYXRlZC4KKwkJICoKKwkJICogdmFsaWRhdGlvbiBvZiBzcC0+Z2ZuIGhh cHBlbnMgaW46CisJCSAqCS0gZ2ZuX3RvX2h2YSAoa3ZtX3JlYWRfZ3Vlc3QsIGdmbl90b19wZm4p CisJCSAqCS0ga3ZtX2lzX3Zpc2libGVfZ2ZuIChtbXVfY2hlY2tfcm9vdCkKKwkJICovCisJCWt2 bV9hcmNoX2ZsdXNoX3NoYWRvd19tZW1zbG90KGt2bSwgc2xvdCk7CisJfQorCisJciA9IGt2bV9h cmNoX3ByZXBhcmVfbWVtb3J5X3JlZ2lvbihrdm0sIG5ldywgbWVtLCBjaGFuZ2UpOworCWlmIChy KQorCQlnb3RvIG91dF9zbG90czsKKworCXVwZGF0ZV9tZW1zbG90cyhzbG90cywgbmV3LCBjaGFu Z2UpOworCXNsb3RzID0gaW5zdGFsbF9uZXdfbWVtc2xvdHMoa3ZtLCBhc19pZCwgc2xvdHMpOwor CisJa3ZtX2FyY2hfY29tbWl0X21lbW9yeV9yZWdpb24oa3ZtLCBtZW0sIG9sZCwgbmV3LCBjaGFu Z2UpOworCisJa3ZmcmVlKHNsb3RzKTsKKwlyZXR1cm4gMDsKKworb3V0X3Nsb3RzOgorCWlmIChj aGFuZ2UgPSBLVk1fTVJfREVMRVRFIHx8IGNoYW5nZSA9IEtWTV9NUl9NT1ZFKQorCQlzbG90cyA9 IGluc3RhbGxfbmV3X21lbXNsb3RzKGt2bSwgYXNfaWQsIHNsb3RzKTsKKwlrdmZyZWUoc2xvdHMp OworCXJldHVybiByOworfQorCiAvKgogICogQWxsb2NhdGUgc29tZSBtZW1vcnkgYW5kIGdpdmUg aXQgYW4gYWRkcmVzcyBpbiB0aGUgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcwogICogc3BhY2UuCkBA IC05OTgsNyArMTA1OCw2IEBAIGludCBfX2t2bV9zZXRfbWVtb3J5X3JlZ2lvbihzdHJ1Y3Qga3Zt ICprdm0sCiAJdW5zaWduZWQgbG9uZyBucGFnZXM7CiAJc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAq c2xvdDsKIAlzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90IG9sZCwgbmV3OwotCXN0cnVjdCBrdm1fbWVt c2xvdHMgKnNsb3RzOwogCWludCBhc19pZCwgaWQ7CiAJZW51bSBrdm1fbXJfY2hhbmdlIGNoYW5n ZTsKIApAQCAtMTA4NSw1OCArMTE0NCwxOSBAQCBpbnQgX19rdm1fc2V0X21lbW9yeV9yZWdpb24o c3RydWN0IGt2bSAqa3ZtLAogCQkJcmV0dXJuIHI7CiAJfQogCi0Jc2xvdHMgPSBrdnphbGxvYyhz aXplb2Yoc3RydWN0IGt2bV9tZW1zbG90cyksIEdGUF9LRVJORUxfQUNDT1VOVCk7Ci0JaWYgKCFz bG90cykgewotCQlyID0gLUVOT01FTTsKLQkJZ290byBvdXRfYml0bWFwOwotCX0KLQltZW1jcHko c2xvdHMsIF9fa3ZtX21lbXNsb3RzKGt2bSwgYXNfaWQpLCBzaXplb2Yoc3RydWN0IGt2bV9tZW1z bG90cykpOwotCi0JaWYgKChjaGFuZ2UgPSBLVk1fTVJfREVMRVRFKSB8fCAoY2hhbmdlID0gS1ZN X01SX01PVkUpKSB7Ci0JCXNsb3QgPSBpZF90b19tZW1zbG90KHNsb3RzLCBpZCk7Ci0JCXNsb3Qt PmZsYWdzIHw9IEtWTV9NRU1TTE9UX0lOVkFMSUQ7Ci0KLQkJLyoKLQkJICogV2UgY2FuIHJlLXVz ZSB0aGUgb2xkIG1lbXNsb3RzLCB0aGUgb25seSBkaWZmZXJlbmNlIGZyb20gdGhlCi0JCSAqIG5l d2x5IGluc3RhbGxlZCBtZW1zbG90cyBpcyB0aGUgaW52YWxpZCBmbGFnLCB3aGljaCB3aWxsIGdl dAotCQkgKiBkcm9wcGVkIGJ5IHVwZGF0ZV9tZW1zbG90cyBhbnl3YXkuICBXZSdsbCBhbHNvIHJl dmVydCB0byB0aGUKLQkJICogb2xkIG1lbXNsb3RzIGlmIHByZXBhcmluZyB0aGUgbmV3IG1lbW9y eSByZWdpb24gZmFpbHMuCi0JCSAqLwotCQlzbG90cyA9IGluc3RhbGxfbmV3X21lbXNsb3RzKGt2 bSwgYXNfaWQsIHNsb3RzKTsKLQotCQkvKiBGcm9tIHRoaXMgcG9pbnQgbm8gbmV3IHNoYWRvdyBw YWdlcyBwb2ludGluZyB0byBhIGRlbGV0ZWQsCi0JCSAqIG9yIG1vdmVkLCBtZW1zbG90IHdpbGwg YmUgY3JlYXRlZC4KLQkJICoKLQkJICogdmFsaWRhdGlvbiBvZiBzcC0+Z2ZuIGhhcHBlbnMgaW46 Ci0JCSAqCS0gZ2ZuX3RvX2h2YSAoa3ZtX3JlYWRfZ3Vlc3QsIGdmbl90b19wZm4pCi0JCSAqCS0g a3ZtX2lzX3Zpc2libGVfZ2ZuIChtbXVfY2hlY2tfcm9vdCkKLQkJICovCi0JCWt2bV9hcmNoX2Zs dXNoX3NoYWRvd19tZW1zbG90KGt2bSwgc2xvdCk7Ci0JfQotCi0JciA9IGt2bV9hcmNoX3ByZXBh cmVfbWVtb3J5X3JlZ2lvbihrdm0sICZuZXcsIG1lbSwgY2hhbmdlKTsKLQlpZiAocikKLQkJZ290 byBvdXRfc2xvdHM7Ci0KIAkvKiBhY3R1YWwgbWVtb3J5IGlzIGZyZWVkIHZpYSBvbGQgaW4ga3Zt X2ZyZWVfbWVtc2xvdCBiZWxvdyAqLwogCWlmIChjaGFuZ2UgPSBLVk1fTVJfREVMRVRFKSB7CiAJ CW5ldy5kaXJ0eV9iaXRtYXAgPSBOVUxMOwogCQltZW1zZXQoJm5ldy5hcmNoLCAwLCBzaXplb2Yo bmV3LmFyY2gpKTsKIAl9CiAKLQl1cGRhdGVfbWVtc2xvdHMoc2xvdHMsICZuZXcsIGNoYW5nZSk7 Ci0Jc2xvdHMgPSBpbnN0YWxsX25ld19tZW1zbG90cyhrdm0sIGFzX2lkLCBzbG90cyk7Ci0KLQlr dm1fYXJjaF9jb21taXRfbWVtb3J5X3JlZ2lvbihrdm0sIG1lbSwgJm9sZCwgJm5ldywgY2hhbmdl KTsKKwlyID0ga3ZtX3NldF9tZW1zbG90KGt2bSwgbWVtLCAmb2xkLCAmbmV3LCBhc19pZCwgY2hh bmdlKTsKKwlpZiAocikKKwkJZ290byBvdXRfYml0bWFwOwogCiAJa3ZtX2ZyZWVfbWVtc2xvdChr dm0sICZvbGQsICZuZXcpOwotCWt2ZnJlZShzbG90cyk7CiAJcmV0dXJuIDA7CiAKLW91dF9zbG90 czoKLQlpZiAoY2hhbmdlID0gS1ZNX01SX0RFTEVURSB8fCBjaGFuZ2UgPSBLVk1fTVJfTU9WRSkK LQkJc2xvdHMgPSBpbnN0YWxsX25ld19tZW1zbG90cyhrdm0sIGFzX2lkLCBzbG90cyk7Ci0Ja3Zm cmVlKHNsb3RzKTsKIG91dF9iaXRtYXA6CiAJaWYgKG5ldy5kaXJ0eV9iaXRtYXAgJiYgIW9sZC5k aXJ0eV9iaXRtYXApCiAJCWt2bV9kZXN0cm95X2RpcnR5X2JpdG1hcCgmbmV3KTsKLS0gCjIuMjQu MQo=