From mboxrd@z Thu Jan 1 00:00:00 1970 From: Euan Harris Subject: [PATCH 3/9] x86/vvmx: Extract operand reading logic into operand_read() Date: Thu, 26 Oct 2017 18:03:13 +0100 Message-ID: <1509037399-48926-4-git-send-email-euan.harris@citrix.com> References: <1509037399-48926-1-git-send-email-euan.harris@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e7lZS-0002d9-Bi for xen-devel@lists.xenproject.org; Thu, 26 Oct 2017 17:03:54 +0000 In-Reply-To: <1509037399-48926-1-git-send-email-euan.harris@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: andrew.cooper3@citrix.com, kevin.tian@intel.com, Euan Harris , jun.nakajima@intel.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org RXh0cmFjdCB0aGUgbG9naWMgZm9yIHJlYWRpbmcgb3BlcmFuZHMgZnJvbSBkZWNvZGVfdm14X2lu c3QoKSBpbnRvCm9wZXJhbmRfcmVhZCgpLiAgIEZ1dHVyZSBwYXRjaGVzIHdpbGwgcmVwbGFjZSBv cGVyYW5kIHJlYWRpbmcgbG9naWMKaW4gZWxzZXdoZXJlIHdpdGggY2FsbHMgdG8gb3BlcmFuZF9y ZWFkKCkuCgpvcGVyYW5kX3JlYWQoKSBtdXN0IGV4cGxpY2l0bHkgaGFuZGxlIGRpZmZlcmVudCBv cGVyYW5kIHNpemVzIHRvIGF2b2lkCmNvcnJ1cHRpbmcgdGhlIGNhbGxlcidzIHN0YWNrLiAgIFRo aXMgcGF0Y2ggc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIG92ZXJhbGwKYmVoYXZpb3VyIG9mIHRoZSBj b2RlLgoKU2lnbmVkLW9mZi1ieTogRXVhbiBIYXJyaXMgPGV1YW4uaGFycmlzQGNpdHJpeC5jb20+ Ci0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jIHwgNTkgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9u cygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgv dnZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jCmluZGV4IDIwZTVlMjkwMzEuLmRm ODQ1OTI0OTAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYworKysgYi94 ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKQEAgLTM2MSw2ICszNjEsNDAgQEAgc3RhdGljIHZv aWQgcmVnX3dyaXRlKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgICpwdmFsID0gdmFs dWU7CiB9CiAKK3N0YXRpYyBpbnQgb3BlcmFuZF9yZWFkKHZvaWQgKmJ1Ziwgc3RydWN0IHZteF9p bnN0X29wICpvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzLCB1bnNpZ25lZCBpbnQgYnl0ZXMpCit7CisgICAgaWYgKCBvcC0+dHlwZSA9PSBWTVhf SU5TVF9NRU1SRUdfVFlQRV9SRUcgKQorICAgIHsKKyAgICAgICAgc3dpdGNoICggYnl0ZXMgKQor ICAgICAgICB7CisgICAgICAgIGNhc2UgNDoKKyAgICAgICAgICAgICoodWludDMyX3QgKilidWYg PSByZWdfcmVhZChyZWdzLCBvcC0+cmVnX2lkeCk7CisKKyAgICAgICAgY2FzZSA4OgorICAgICAg ICAgICAgKih1aW50NjRfdCAqKWJ1ZiA9IHJlZ19yZWFkKHJlZ3MsIG9wLT5yZWdfaWR4KTsKKwor ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAg ICAgICAgICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7CisgICAgICAgIH0KKworICAgICAg ICByZXR1cm4gWDg2RU1VTF9PS0FZOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBw YWdlZmF1bHRfaW5mb190IHBmaW5mbzsKKyAgICAgICAgaW50IHJjID0gaHZtX2NvcHlfZnJvbV9n dWVzdF9saW5lYXIoYnVmLCBvcC0+bWVtLCBieXRlcywgMCwgJnBmaW5mbyk7CisKKyAgICAgICAg aWYgKCByYyA9PSBIVk1UUkFOU19iYWRfbGluZWFyX3RvX2dmbiApCisgICAgICAgICAgICBodm1f aW5qZWN0X3BhZ2VfZmF1bHQocGZpbmZvLmVjLCBwZmluZm8ubGluZWFyKTsKKyAgICAgICAgaWYg KCByYyAhPSBIVk1UUkFOU19va2F5ICkKKyAgICAgICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQ VElPTjsKKworICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOworICAgIH0KK30KKwogc3RhdGlj IGlubGluZSB1MzIgX19uMl9waW5fZXhlY19jb250cm9sKHN0cnVjdCB2Y3B1ICp2KQogewogICAg IHJldHVybiBnZXRfdnZtY3ModiwgUElOX0JBU0VEX1ZNX0VYRUNfQ09OVFJPTCk7CkBAIC00NDAs NyArNDc0LDEyIEBAIHN0YXRpYyBpbnQgZGVjb2RlX3ZteF9pbnN0KHN0cnVjdCBjcHVfdXNlcl9y ZWdzICpyZWdzLAogICAgICAgICBkZWNvZGUtPm9wWzBdLnR5cGUgPSBWTVhfSU5TVF9NRU1SRUdf VFlQRV9SRUc7CiAgICAgICAgIGRlY29kZS0+b3BbMF0ucmVnX2lkeCA9IGluZm8uZmllbGRzLnJl ZzE7CiAgICAgICAgIGlmICggcG9wZXJhbmRTICE9IE5VTEwgKQotICAgICAgICAgICAgKnBvcGVy YW5kUyA9IHJlZ19yZWFkKHJlZ3MsIGRlY29kZS0+b3BbMF0ucmVnX2lkeCk7CisgICAgICAgIHsK KyAgICAgICAgICAgIGludCByYyA9IG9wZXJhbmRfcmVhZChwb3BlcmFuZFMsICZkZWNvZGUtPm9w WzBdLCByZWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZS0+b3Bb MF0ubGVuKTsKKyAgICAgICAgICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZICkKKyAgICAgICAg ICAgICAgICByZXR1cm4gcmM7CisgICAgICAgIH0KICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAg LTQ3NSwyMCArNTE0LDE2IEBAIHN0YXRpYyBpbnQgZGVjb2RlX3ZteF9pbnN0KHN0cnVjdCBjcHVf dXNlcl9yZWdzICpyZWdzLAogICAgICAgICAgICAgICBvZmZzZXQgKyBzaXplIC0gMSA+IHNlZy5s aW1pdCkgKQogICAgICAgICAgICAgZ290byBncF9mYXVsdDsKIAorICAgICAgICBkZWNvZGUtPm9w WzBdLm1lbSA9IGJhc2U7CisgICAgICAgIGRlY29kZS0+b3BbMF0ubGVuID0gc2l6ZTsKKwogICAg ICAgICBpZiAoIHBvcGVyYW5kUyAhPSBOVUxMICkKICAgICAgICAgewotICAgICAgICAgICAgcGFn ZWZhdWx0X2luZm9fdCBwZmluZm87Ci0gICAgICAgICAgICBpbnQgcmMgPSBodm1fY29weV9mcm9t X2d1ZXN0X2xpbmVhcihwb3BlcmFuZFMsIGJhc2UsIHNpemUsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAmcGZpbmZvKTsKLQotICAgICAgICAgICAg aWYgKCByYyA9PSBIVk1UUkFOU19iYWRfbGluZWFyX3RvX2dmbiApCi0gICAgICAgICAgICAgICAg aHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmaW5mby5lYywgcGZpbmZvLmxpbmVhcik7Ci0gICAgICAg ICAgICBpZiAoIHJjICE9IEhWTVRSQU5TX29rYXkgKQotICAgICAgICAgICAgICAgIHJldHVybiBY ODZFTVVMX0VYQ0VQVElPTjsKKyAgICAgICAgICAgIGludCByYyA9IG9wZXJhbmRfcmVhZChwb3Bl cmFuZFMsICZkZWNvZGUtPm9wWzBdLCByZWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlY29kZS0+b3BbMF0ubGVuKTsKKyAgICAgICAgICAgIGlmICggcmMgIT0gWDg2RU1V TF9PS0FZICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmM7CiAgICAgICAgIH0KLQotICAgICAg ICBkZWNvZGUtPm9wWzBdLm1lbSA9IGJhc2U7Ci0gICAgICAgIGRlY29kZS0+b3BbMF0ubGVuID0g c2l6ZTsKICAgICB9CiAKICAgICBkZWNvZGUtPm9wWzFdLnR5cGUgPSBWTVhfSU5TVF9NRU1SRUdf VFlQRV9SRUc7Ci0tIAoyLjEzLjYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK