From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Christopherson Date: Tue, 18 Feb 2020 21:07:23 +0000 Subject: [PATCH v6 09/22] KVM: Move setting of memslot into helper routine Message-Id: <20200218210736.16432-10-sean.j.christopherson@intel.com> List-Id: References: <20200218210736.16432-1-sean.j.christopherson@intel.com> In-Reply-To: <20200218210736.16432-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+ClJldmlld2VkLWJ5OiBQZXRlciBYdSA8cGV0ZXJ4QHJl ZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IFNlYW4gQ2hyaXN0b3BoZXJzb24gPHNlYW4uai5jaHJp c3RvcGhlcnNvbkBpbnRlbC5jb20+Ci0tLQogdmlydC9rdm0va3ZtX21haW4uYyB8IDEwNiArKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDYzIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3ZpcnQva3Zt L2t2bV9tYWluLmMgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCmluZGV4IGNhMzk3OTkyZTg3OS4uODRj MDNmYjYwZDQwIDEwMDY0NAotLS0gYS92aXJ0L2t2bS9rdm1fbWFpbi5jCisrKyBiL3ZpcnQva3Zt L2t2bV9tYWluLmMKQEAgLTk4Myw2ICs5ODMsNjYgQEAgc3RhdGljIHN0cnVjdCBrdm1fbWVtc2xv dHMgKmluc3RhbGxfbmV3X21lbXNsb3RzKHN0cnVjdCBrdm0gKmt2bSwKIAlyZXR1cm4gb2xkX21l bXNsb3RzOwogfQogCitzdGF0aWMgaW50IGt2bV9zZXRfbWVtc2xvdChzdHJ1Y3Qga3ZtICprdm0s CisJCQkgICBjb25zdCBzdHJ1Y3Qga3ZtX3VzZXJzcGFjZV9tZW1vcnlfcmVnaW9uICptZW0sCisJ CQkgICBjb25zdCBzdHJ1Y3Qga3ZtX21lbW9yeV9zbG90ICpvbGQsCisJCQkgICBzdHJ1Y3Qga3Zt X21lbW9yeV9zbG90ICpuZXcsIGludCBhc19pZCwKKwkJCSAgIGVudW0ga3ZtX21yX2NoYW5nZSBj aGFuZ2UpCit7CisJc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdDsKKwlzdHJ1Y3Qga3ZtX21l bXNsb3RzICpzbG90czsKKwlpbnQgcjsKKworCXNsb3RzID0ga3Z6YWxsb2Moc2l6ZW9mKHN0cnVj dCBrdm1fbWVtc2xvdHMpLCBHRlBfS0VSTkVMX0FDQ09VTlQpOworCWlmICghc2xvdHMpCisJCXJl dHVybiAtRU5PTUVNOworCW1lbWNweShzbG90cywgX19rdm1fbWVtc2xvdHMoa3ZtLCBhc19pZCks IHNpemVvZihzdHJ1Y3Qga3ZtX21lbXNsb3RzKSk7CisKKwlpZiAoY2hhbmdlID0gS1ZNX01SX0RF TEVURSB8fCBjaGFuZ2UgPSBLVk1fTVJfTU9WRSkgeworCQkvKgorCQkgKiBOb3RlLCB0aGUgSU5W QUxJRCBmbGFnIG5lZWRzIHRvIGJlIGluIHRoZSBhcHByb3ByaWF0ZSBlbnRyeQorCQkgKiBpbiB0 aGUgZnJlc2hseSBhbGxvY2F0ZWQgbWVtc2xvdHMsIG5vdCBpbiBAb2xkIG9yIEBuZXcuCisJCSAq LworCQlzbG90ID0gaWRfdG9fbWVtc2xvdChzbG90cywgb2xkLT5pZCk7CisJCXNsb3QtPmZsYWdz IHw9IEtWTV9NRU1TTE9UX0lOVkFMSUQ7CisKKwkJLyoKKwkJICogV2UgY2FuIHJlLXVzZSB0aGUg b2xkIG1lbXNsb3RzLCB0aGUgb25seSBkaWZmZXJlbmNlIGZyb20gdGhlCisJCSAqIG5ld2x5IGlu c3RhbGxlZCBtZW1zbG90cyBpcyB0aGUgaW52YWxpZCBmbGFnLCB3aGljaCB3aWxsIGdldAorCQkg KiBkcm9wcGVkIGJ5IHVwZGF0ZV9tZW1zbG90cyBhbnl3YXkuICBXZSdsbCBhbHNvIHJldmVydCB0 byB0aGUKKwkJICogb2xkIG1lbXNsb3RzIGlmIHByZXBhcmluZyB0aGUgbmV3IG1lbW9yeSByZWdp b24gZmFpbHMuCisJCSAqLworCQlzbG90cyA9IGluc3RhbGxfbmV3X21lbXNsb3RzKGt2bSwgYXNf aWQsIHNsb3RzKTsKKworCQkvKiBGcm9tIHRoaXMgcG9pbnQgbm8gbmV3IHNoYWRvdyBwYWdlcyBw b2ludGluZyB0byBhIGRlbGV0ZWQsCisJCSAqIG9yIG1vdmVkLCBtZW1zbG90IHdpbGwgYmUgY3Jl YXRlZC4KKwkJICoKKwkJICogdmFsaWRhdGlvbiBvZiBzcC0+Z2ZuIGhhcHBlbnMgaW46CisJCSAq CS0gZ2ZuX3RvX2h2YSAoa3ZtX3JlYWRfZ3Vlc3QsIGdmbl90b19wZm4pCisJCSAqCS0ga3ZtX2lz X3Zpc2libGVfZ2ZuIChtbXVfY2hlY2tfcm9vdCkKKwkJICovCisJCWt2bV9hcmNoX2ZsdXNoX3No YWRvd19tZW1zbG90KGt2bSwgc2xvdCk7CisJfQorCisJciA9IGt2bV9hcmNoX3ByZXBhcmVfbWVt b3J5X3JlZ2lvbihrdm0sIG5ldywgbWVtLCBjaGFuZ2UpOworCWlmIChyKQorCQlnb3RvIG91dF9z bG90czsKKworCXVwZGF0ZV9tZW1zbG90cyhzbG90cywgbmV3LCBjaGFuZ2UpOworCXNsb3RzID0g aW5zdGFsbF9uZXdfbWVtc2xvdHMoa3ZtLCBhc19pZCwgc2xvdHMpOworCisJa3ZtX2FyY2hfY29t bWl0X21lbW9yeV9yZWdpb24oa3ZtLCBtZW0sIG9sZCwgbmV3LCBjaGFuZ2UpOworCisJa3ZmcmVl KHNsb3RzKTsKKwlyZXR1cm4gMDsKKworb3V0X3Nsb3RzOgorCWlmIChjaGFuZ2UgPSBLVk1fTVJf REVMRVRFIHx8IGNoYW5nZSA9IEtWTV9NUl9NT1ZFKQorCQlzbG90cyA9IGluc3RhbGxfbmV3X21l bXNsb3RzKGt2bSwgYXNfaWQsIHNsb3RzKTsKKwlrdmZyZWUoc2xvdHMpOworCXJldHVybiByOwor fQorCiAvKgogICogQWxsb2NhdGUgc29tZSBtZW1vcnkgYW5kIGdpdmUgaXQgYW4gYWRkcmVzcyBp biB0aGUgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcwogICogc3BhY2UuCkBAIC05OTksNyArMTA1OSw2 IEBAIGludCBfX2t2bV9zZXRfbWVtb3J5X3JlZ2lvbihzdHJ1Y3Qga3ZtICprdm0sCiAJdW5zaWdu ZWQgbG9uZyBucGFnZXM7CiAJc3RydWN0IGt2bV9tZW1vcnlfc2xvdCAqc2xvdDsKIAlzdHJ1Y3Qg a3ZtX21lbW9yeV9zbG90IG9sZCwgbmV3OwotCXN0cnVjdCBrdm1fbWVtc2xvdHMgKnNsb3RzOwog CWludCBhc19pZCwgaWQ7CiAJZW51bSBrdm1fbXJfY2hhbmdlIGNoYW5nZTsKIApAQCAtMTA4Niw1 OCArMTE0NSwxOSBAQCBpbnQgX19rdm1fc2V0X21lbW9yeV9yZWdpb24oc3RydWN0IGt2bSAqa3Zt LAogCQkJcmV0dXJuIHI7CiAJfQogCi0Jc2xvdHMgPSBrdnphbGxvYyhzaXplb2Yoc3RydWN0IGt2 bV9tZW1zbG90cyksIEdGUF9LRVJORUxfQUNDT1VOVCk7Ci0JaWYgKCFzbG90cykgewotCQlyID0g LUVOT01FTTsKLQkJZ290byBvdXRfYml0bWFwOwotCX0KLQltZW1jcHkoc2xvdHMsIF9fa3ZtX21l bXNsb3RzKGt2bSwgYXNfaWQpLCBzaXplb2Yoc3RydWN0IGt2bV9tZW1zbG90cykpOwotCi0JaWYg KChjaGFuZ2UgPSBLVk1fTVJfREVMRVRFKSB8fCAoY2hhbmdlID0gS1ZNX01SX01PVkUpKSB7Ci0J CXNsb3QgPSBpZF90b19tZW1zbG90KHNsb3RzLCBpZCk7Ci0JCXNsb3QtPmZsYWdzIHw9IEtWTV9N RU1TTE9UX0lOVkFMSUQ7Ci0KLQkJLyoKLQkJICogV2UgY2FuIHJlLXVzZSB0aGUgb2xkIG1lbXNs b3RzLCB0aGUgb25seSBkaWZmZXJlbmNlIGZyb20gdGhlCi0JCSAqIG5ld2x5IGluc3RhbGxlZCBt ZW1zbG90cyBpcyB0aGUgaW52YWxpZCBmbGFnLCB3aGljaCB3aWxsIGdldAotCQkgKiBkcm9wcGVk IGJ5IHVwZGF0ZV9tZW1zbG90cyBhbnl3YXkuICBXZSdsbCBhbHNvIHJldmVydCB0byB0aGUKLQkJ ICogb2xkIG1lbXNsb3RzIGlmIHByZXBhcmluZyB0aGUgbmV3IG1lbW9yeSByZWdpb24gZmFpbHMu Ci0JCSAqLwotCQlzbG90cyA9IGluc3RhbGxfbmV3X21lbXNsb3RzKGt2bSwgYXNfaWQsIHNsb3Rz KTsKLQotCQkvKiBGcm9tIHRoaXMgcG9pbnQgbm8gbmV3IHNoYWRvdyBwYWdlcyBwb2ludGluZyB0 byBhIGRlbGV0ZWQsCi0JCSAqIG9yIG1vdmVkLCBtZW1zbG90IHdpbGwgYmUgY3JlYXRlZC4KLQkJ ICoKLQkJICogdmFsaWRhdGlvbiBvZiBzcC0+Z2ZuIGhhcHBlbnMgaW46Ci0JCSAqCS0gZ2ZuX3Rv X2h2YSAoa3ZtX3JlYWRfZ3Vlc3QsIGdmbl90b19wZm4pCi0JCSAqCS0ga3ZtX2lzX3Zpc2libGVf Z2ZuIChtbXVfY2hlY2tfcm9vdCkKLQkJICovCi0JCWt2bV9hcmNoX2ZsdXNoX3NoYWRvd19tZW1z bG90KGt2bSwgc2xvdCk7Ci0JfQotCi0JciA9IGt2bV9hcmNoX3ByZXBhcmVfbWVtb3J5X3JlZ2lv bihrdm0sICZuZXcsIG1lbSwgY2hhbmdlKTsKLQlpZiAocikKLQkJZ290byBvdXRfc2xvdHM7Ci0K IAkvKiBhY3R1YWwgbWVtb3J5IGlzIGZyZWVkIHZpYSBvbGQgaW4ga3ZtX2ZyZWVfbWVtc2xvdCBi ZWxvdyAqLwogCWlmIChjaGFuZ2UgPSBLVk1fTVJfREVMRVRFKSB7CiAJCW5ldy5kaXJ0eV9iaXRt YXAgPSBOVUxMOwogCQltZW1zZXQoJm5ldy5hcmNoLCAwLCBzaXplb2YobmV3LmFyY2gpKTsKIAl9 CiAKLQl1cGRhdGVfbWVtc2xvdHMoc2xvdHMsICZuZXcsIGNoYW5nZSk7Ci0Jc2xvdHMgPSBpbnN0 YWxsX25ld19tZW1zbG90cyhrdm0sIGFzX2lkLCBzbG90cyk7Ci0KLQlrdm1fYXJjaF9jb21taXRf bWVtb3J5X3JlZ2lvbihrdm0sIG1lbSwgJm9sZCwgJm5ldywgY2hhbmdlKTsKKwlyID0ga3ZtX3Nl dF9tZW1zbG90KGt2bSwgbWVtLCAmb2xkLCAmbmV3LCBhc19pZCwgY2hhbmdlKTsKKwlpZiAocikK KwkJZ290byBvdXRfYml0bWFwOwogCiAJa3ZtX2ZyZWVfbWVtc2xvdChrdm0sICZvbGQsICZuZXcp OwotCWt2ZnJlZShzbG90cyk7CiAJcmV0dXJuIDA7CiAKLW91dF9zbG90czoKLQlpZiAoY2hhbmdl ID0gS1ZNX01SX0RFTEVURSB8fCBjaGFuZ2UgPSBLVk1fTVJfTU9WRSkKLQkJc2xvdHMgPSBpbnN0 YWxsX25ld19tZW1zbG90cyhrdm0sIGFzX2lkLCBzbG90cyk7Ci0Ja3ZmcmVlKHNsb3RzKTsKIG91 dF9iaXRtYXA6CiAJaWYgKG5ldy5kaXJ0eV9iaXRtYXAgJiYgIW9sZC5kaXJ0eV9iaXRtYXApCiAJ CWt2bV9kZXN0cm95X2RpcnR5X2JpdG1hcCgmbmV3KTsKLS0gCjIuMjQuMQo=