From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v4 17/31] x86/mm: move compat descriptor handling code Date: Thu, 17 Aug 2017 15:44:42 +0100 Message-ID: <20170817144456.18989-18-wei.liu2@citrix.com> References: <20170817144456.18989-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1diM48-0001iz-Qp for xen-devel@lists.xenproject.org; Thu, 17 Aug 2017 14:46:32 +0000 In-Reply-To: <20170817144456.18989-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org TW92ZSB0aGVtIGFsb25nIHNpZGUgdGhlIG5vbi1jb21wYXQgdmFyaWFudHMuCgpTaWduZWQtb2Zm LWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wdi9k ZXNjcmlwdG9yLXRhYmxlcy5jIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiB4ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9tbS5jICAgICB8IDQxIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9u cygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2Rlc2Ny aXB0b3ItdGFibGVzLmMgYi94ZW4vYXJjaC94ODYvcHYvZGVzY3JpcHRvci10YWJsZXMuYwppbmRl eCAxMmRjNDViNjcxLi5hMzAyODEyNzc0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvZGVz Y3JpcHRvci10YWJsZXMuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZGVzY3JpcHRvci10YWJsZXMu YwpAQCAtMTc3LDYgKzE3Nyw0NiBAQCBsb25nIGRvX3VwZGF0ZV9kZXNjcmlwdG9yKHU2NCBwYSwg dTY0IGRlc2MpCiAgICAgcmV0dXJuIHJldDsKIH0KIAoraW50IGNvbXBhdF9zZXRfZ2R0KFhFTl9H VUVTVF9IQU5ETEVfUEFSQU0odWludCkgZnJhbWVfbGlzdCwKKyAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgZW50cmllcykKK3sKKyAgICB1bnNpZ25lZCBpbnQgaSwgbnJfcGFnZXMgPSAo ZW50cmllcyArIDUxMSkgLyA1MTI7CisgICAgdW5zaWduZWQgbG9uZyBmcmFtZXNbMTZdOworICAg IGxvbmcgcmV0OworCisgICAgLyogUmVjaGVja2VkIGluIHB2X3NldF9nZHQsIGJ1dCBlbnN1cmVz IGEgc2FuZSBsaW1pdCBmb3IgY29weV9mcm9tX3VzZXIoKS4gKi8KKyAgICBpZiAoIGVudHJpZXMg PiBGSVJTVF9SRVNFUlZFRF9HRFRfRU5UUlkgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKwor ICAgIGlmICggIWd1ZXN0X2hhbmRsZV9va2F5KGZyYW1lX2xpc3QsIG5yX3BhZ2VzKSApCisgICAg ICAgIHJldHVybiAtRUZBVUxUOworCisgICAgZm9yICggaSA9IDA7IGkgPCBucl9wYWdlczsgKytp ICkKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBmcmFtZTsKKworICAgICAgICBpZiAoIF9f Y29weV9mcm9tX2d1ZXN0KCZmcmFtZSwgZnJhbWVfbGlzdCwgMSkgKQorICAgICAgICAgICAgcmV0 dXJuIC1FRkFVTFQ7CisgICAgICAgIGZyYW1lc1tpXSA9IGZyYW1lOworICAgICAgICBndWVzdF9o YW5kbGVfYWRkX29mZnNldChmcmFtZV9saXN0LCAxKTsKKyAgICB9CisKKyAgICBkb21haW5fbG9j ayhjdXJyZW50LT5kb21haW4pOworCisgICAgaWYgKCAocmV0ID0gcHZfc2V0X2dkdChjdXJyZW50 LCBmcmFtZXMsIGVudHJpZXMpKSA9PSAwICkKKyAgICAgICAgZmx1c2hfdGxiX2xvY2FsKCk7CisK KyAgICBkb21haW5fdW5sb2NrKGN1cnJlbnQtPmRvbWFpbik7CisKKyAgICByZXR1cm4gcmV0Owor fQorCitpbnQgY29tcGF0X3VwZGF0ZV9kZXNjcmlwdG9yKHUzMiBwYV9sbywgdTMyIHBhX2hpLCB1 MzIgZGVzY19sbywgdTMyIGRlc2NfaGkpCit7CisgICAgcmV0dXJuIGRvX3VwZGF0ZV9kZXNjcmlw dG9yKHBhX2xvIHwgKCh1NjQpcGFfaGkgPDwgMzIpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZXNjX2xvIHwgKCh1NjQpZGVzY19oaSA8PCAzMikpOworfQorCiAvKgogICogTG9j YWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82 NC9jb21wYXQvbW0uYyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L21tLmMKaW5kZXggZDYx ZmI4OWMyNy4uODlhMGIyNzU3MyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9jb21w YXQvbW0uYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9tbS5jCkBAIC02LDQ3ICs2 LDYgQEAKICNpbmNsdWRlIDxhc20vbWVtX3BhZ2luZy5oPgogI2luY2x1ZGUgPGFzbS9tZW1fc2hh cmluZy5oPgogCi0jaW5jbHVkZSA8YXNtL3B2L3Byb2Nlc3Nvci5oPgotCi1pbnQgY29tcGF0X3Nl dF9nZHQoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh1aW50KSBmcmFtZV9saXN0LCB1bnNpZ25lZCBp bnQgZW50cmllcykKLXsKLSAgICB1bnNpZ25lZCBpbnQgaSwgbnJfcGFnZXMgPSAoZW50cmllcyAr IDUxMSkgLyA1MTI7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZXNbMTZdOwotICAgIGxvbmcgcmV0 OwotCi0gICAgLyogUmVjaGVja2VkIGluIHB2X3NldF9nZHQsIGJ1dCBlbnN1cmVzIGEgc2FuZSBs aW1pdCBmb3IgY29weV9mcm9tX3VzZXIoKS4gKi8KLSAgICBpZiAoIGVudHJpZXMgPiBGSVJTVF9S RVNFUlZFRF9HRFRfRU5UUlkgKQotICAgICAgICByZXR1cm4gLUVJTlZBTDsKLQotICAgIGlmICgg IWd1ZXN0X2hhbmRsZV9va2F5KGZyYW1lX2xpc3QsIG5yX3BhZ2VzKSApCi0gICAgICAgIHJldHVy biAtRUZBVUxUOwotCi0gICAgZm9yICggaSA9IDA7IGkgPCBucl9wYWdlczsgKytpICkKLSAgICB7 Ci0gICAgICAgIHVuc2lnbmVkIGludCBmcmFtZTsKLQotICAgICAgICBpZiAoIF9fY29weV9mcm9t X2d1ZXN0KCZmcmFtZSwgZnJhbWVfbGlzdCwgMSkgKQotICAgICAgICAgICAgcmV0dXJuIC1FRkFV TFQ7Ci0gICAgICAgIGZyYW1lc1tpXSA9IGZyYW1lOwotICAgICAgICBndWVzdF9oYW5kbGVfYWRk X29mZnNldChmcmFtZV9saXN0LCAxKTsKLSAgICB9Ci0KLSAgICBkb21haW5fbG9jayhjdXJyZW50 LT5kb21haW4pOwotCi0gICAgaWYgKCAocmV0ID0gcHZfc2V0X2dkdChjdXJyZW50LCBmcmFtZXMs IGVudHJpZXMpKSA9PSAwICkKLSAgICAgICAgZmx1c2hfdGxiX2xvY2FsKCk7Ci0KLSAgICBkb21h aW5fdW5sb2NrKGN1cnJlbnQtPmRvbWFpbik7Ci0KLSAgICByZXR1cm4gcmV0OwotfQotCi1pbnQg Y29tcGF0X3VwZGF0ZV9kZXNjcmlwdG9yKHUzMiBwYV9sbywgdTMyIHBhX2hpLCB1MzIgZGVzY19s bywgdTMyIGRlc2NfaGkpCi17Ci0gICAgcmV0dXJuIGRvX3VwZGF0ZV9kZXNjcmlwdG9yKHBhX2xv IHwgKCh1NjQpcGFfaGkgPDwgMzIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk ZXNjX2xvIHwgKCh1NjQpZGVzY19oaSA8PCAzMikpOwotfQotCiBpbnQgY29tcGF0X2FyY2hfbWVt b3J5X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFy ZykKIHsKICAgICBzdHJ1Y3QgY29tcGF0X21hY2hwaHlzX21mbl9saXN0IHhtbWw7Ci0tIAoyLjEx LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK