From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 for-next v2 7/8] x86/mm: move check_descriptor to pv/mm.c Date: Mon, 3 Apr 2017 12:22:45 +0100 Message-ID: <20170403112246.6975-8-wei.liu2@citrix.com> References: <20170403112246.6975-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cv04S-00022S-Qe for xen-devel@lists.xenproject.org; Mon, 03 Apr 2017 11:22:52 +0000 In-Reply-To: <20170403112246.6975-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 , Tim Deegan , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org SXQncyBvbmx5IG5lZWRlZCB0aGVyZS4gQWxzbyBtYWtlIGl0IHN0YXRpYyBhbmQgZGVsZXRlIHRo ZSBkZWNsYXJhdGlvbgpmcm9tIG1tLmguCgpObyBmdW5jdGlvbmFsIGNoYW5nZS4KClNpZ25lZC1v ZmYtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3B2 L21tLmMgICAgIHwgODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIHhlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYyB8IDg3IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIHwg IDIgLS0KIDMgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L21tLmMgYi94ZW4vYXJjaC94ODYvcHYvbW0u YwppbmRleCA0OGQzZmUxODRiLi45NmYyNDMxNzU2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv cHYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvcHYvbW0uYwpAQCAtMjIwLDYgKzIyMCw5MiBAQCBz dGF0aWMgdm9pZCBpbnZhbGlkYXRlX3NoYWRvd19sZHQoc3RydWN0IHZjcHUgKnYsIGludCBmbHVz aCkKICAgICBzcGluX3VubG9jaygmdi0+YXJjaC5wdl92Y3B1LnNoYWRvd19sZHRfbG9jayk7CiB9 CiAKKy8qIFJldHVybnMgVFJVRSBpZiBnaXZlbiBkZXNjcmlwdG9yIGlzIHZhbGlkIGZvciBHRFQg b3IgTERULiAqLworc3RhdGljIGludCBjaGVja19kZXNjcmlwdG9yKGNvbnN0IHN0cnVjdCBkb21h aW4gKmRvbSwgc3RydWN0IGRlc2Nfc3RydWN0ICpkKQoreworICAgIHUzMiBhID0gZC0+YSwgYiA9 IGQtPmI7CisgICAgdTE2IGNzOworICAgIHVuc2lnbmVkIGludCBkcGw7CisKKyAgICAvKiBBIG5v dC1wcmVzZW50IGRlc2NyaXB0b3Igd2lsbCBhbHdheXMgZmF1bHQsIHNvIGlzIHNhZmUuICovCisg ICAgaWYgKCAhKGIgJiBfU0VHTUVOVF9QKSApCisgICAgICAgIHJldHVybiAxOworCisgICAgLyog Q2hlY2sgYW5kIGZpeCB1cCB0aGUgRFBMLiAqLworICAgIGRwbCA9IChiID4+IDEzKSAmIDM7Cisg ICAgX19maXh1cF9ndWVzdF9zZWxlY3Rvcihkb20sIGRwbCk7CisgICAgYiA9IChiICYgfl9TRUdN RU5UX0RQTCkgfCAoZHBsIDw8IDEzKTsKKworICAgIC8qIEFsbCBjb2RlIGFuZCBkYXRhIHNlZ21l bnRzIGFyZSBva2F5LiBObyBiYXNlL2xpbWl0IGNoZWNraW5nLiAqLworICAgIGlmICggKGIgJiBf U0VHTUVOVF9TKSApCisgICAgeworICAgICAgICBpZiAoIGlzX3B2XzMyYml0X2RvbWFpbihkb20p ICkKKyAgICAgICAgeworICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBiYXNlLCBsaW1pdDsKKwor ICAgICAgICAgICAgaWYgKCBiICYgX1NFR01FTlRfTCApCisgICAgICAgICAgICAgICAgZ290byBi YWQ7CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBPbGRlciBQQUUgTGludXggZ3Vl c3RzIHVzZSBzZWdtZW50cyB3aGljaCBhcmUgbGltaXRlZCB0bworICAgICAgICAgICAgICogMHhm NjgwMDAwMC4gRXh0ZW5kIHRoZXNlIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgbGFyZ2VyIHJlYWQt b25seQorICAgICAgICAgICAgICogTTJQIHRhYmxlIGF2YWlsYWJsZSBpbiAzMm9uNjQgbW9kZS4K KyAgICAgICAgICAgICAqLworICAgICAgICAgICAgYmFzZSA9IChiICYgKDB4ZmYgPDwgMjQpKSB8 ICgoYiAmIDB4ZmYpIDw8IDE2KSB8IChhID4+IDE2KTsKKworICAgICAgICAgICAgbGltaXQgPSAo YiAmIDB4ZjAwMDApIHwgKGEgJiAweGZmZmYpOworICAgICAgICAgICAgbGltaXQrKzsgLyogV2Ug YWRkIG9uZSBiZWNhdXNlIGxpbWl0IGlzIGluY2x1c2l2ZS4gKi8KKworICAgICAgICAgICAgaWYg KCAoYiAmIF9TRUdNRU5UX0cpICkKKyAgICAgICAgICAgICAgICBsaW1pdCA8PD0gMTI7CisKKyAg ICAgICAgICAgIGlmICggKGJhc2UgPT0gMCkgJiYgKGxpbWl0ID4gSFlQRVJWSVNPUl9DT01QQVRf VklSVF9TVEFSVChkb20pKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYSB8PSAw eDAwMDBmZmZmOworICAgICAgICAgICAgICAgIGIgfD0gMHgwMDBmMDAwMDsKKyAgICAgICAgICAg IH0KKyAgICAgICAgfQorCisgICAgICAgIGdvdG8gZ29vZDsKKyAgICB9CisKKyAgICAvKiBJbnZh bGlkIHR5cGUgMCBpcyBoYXJtbGVzcy4gSXQgaXMgdXNlZCBmb3IgMm5kIGhhbGYgb2YgYSBjYWxs IGdhdGUuICovCisgICAgaWYgKCAoYiAmIF9TRUdNRU5UX1RZUEUpID09IDB4MDAwICkKKyAgICAg ICAgcmV0dXJuIDE7CisKKyAgICAvKiBFdmVyeXRoaW5nIGJ1dCBhIGNhbGwgZ2F0ZSBpcyBkaXNj YXJkZWQgaGVyZS4gKi8KKyAgICBpZiAoIChiICYgX1NFR01FTlRfVFlQRSkgIT0gMHhjMDAgKQor ICAgICAgICBnb3RvIGJhZDsKKworICAgIC8qIFZhbGlkYXRlIHRoZSB0YXJnZXQgY29kZSBzZWxl Y3Rvci4gKi8KKyAgICBjcyA9IGEgPj4gMTY7CisgICAgaWYgKCAhZ3Vlc3RfZ2F0ZV9zZWxlY3Rv cl9va2F5KGRvbSwgY3MpICkKKyAgICAgICAgZ290byBiYWQ7CisgICAgLyoKKyAgICAgKiBGb3Jj ZSBEUEwgdG8gemVybywgY2F1c2luZyBhIEdQIGZhdWx0IHdpdGggaXRzIGVycm9yIGNvZGUgaW5k aWNhdGluZworICAgICAqIHRoZSBnYXRlIGluIHVzZSwgYWxsb3dpbmcgZW11bGF0aW9uLiBUaGlz IGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHdpdGgKKyAgICAgKiBuYXRpdmUgZ3Vlc3RzIChrZXJuZWwg aW4gcmluZyAzKSBjYWxsIGdhdGVzIGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5CisgICAgICogdG8g dHJhbnNpdGlvbiBmcm9tIHVzZXIgdG8ga2VybmVsIG1vZGUgKGFuZCB3aGV0aGVyIGEgZ2F0ZSBp cyB1c2VkCisgICAgICogdG8gZW50ZXIgdGhlIGtlcm5lbCBjYW4gb25seSBiZSBkZXRlcm1pbmVk IHdoZW4gdGhlIGdhdGUgaXMgYmVpbmcKKyAgICAgKiB1c2VkKSwgYW5kIHdpdGggY29tcGF0IGd1 ZXN0cyBjYWxsIGdhdGVzIGNhbm5vdCBiZSB1c2VkIGF0IGFsbCBhcworICAgICAqIHRoZXJlIGFy ZSBvbmx5IDY0LWJpdCBvbmVzLgorICAgICAqIFN0b3JlIHRoZSBvcmlnaW5hbCBEUEwgaW4gdGhl IHNlbGVjdG9yJ3MgUlBMIGZpZWxkLgorICAgICAqLworICAgIGIgJj0gfl9TRUdNRU5UX0RQTDsK KyAgICBjcyA9IChjcyAmIH4zKSB8IGRwbDsKKyAgICBhID0gKGEgJiAweGZmZmZVKSB8IChjcyA8 PCAxNik7CisKKyAgICAvKiBSZXNlcnZlZCBiaXRzIG11c3QgYmUgemVyby4gKi8KKyAgICBpZiAo IGIgJiAoaXNfcHZfMzJiaXRfZG9tYWluKGRvbSkgPyAweGUwIDogMHhmZikgKQorICAgICAgICBn b3RvIGJhZDsKKworIGdvb2Q6CisgICAgZC0+YSA9IGE7CisgICAgZC0+YiA9IGI7CisgICAgcmV0 dXJuIDE7CisgYmFkOgorICAgIHJldHVybiAwOworfQogCiBzdGF0aWMgaW50IGFsbG9jX3NlZ2Rl c2NfcGFnZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQogewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L3g4Nl82NC9tbS5jIGIveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jCmluZGV4IDE5YTE0ZTg4 MjkuLjBiZjg1YTU5ZWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYworKysg Yi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKQEAgLTEwMTgsOTMgKzEwMTgsNiBAQCBsb25nIHN1 YmFyY2hfbWVtb3J5X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFN KHZvaWQpIGFyZykKICAgICByZXR1cm4gcmM7CiB9CiAKLS8qIFJldHVybnMgVFJVRSBpZiBnaXZl biBkZXNjcmlwdG9yIGlzIHZhbGlkIGZvciBHRFQgb3IgTERULiAqLwotaW50IGNoZWNrX2Rlc2Ny aXB0b3IoY29uc3Qgc3RydWN0IGRvbWFpbiAqZG9tLCBzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmQpCi17 Ci0gICAgdTMyIGEgPSBkLT5hLCBiID0gZC0+YjsKLSAgICB1MTYgY3M7Ci0gICAgdW5zaWduZWQg aW50IGRwbDsKLQotICAgIC8qIEEgbm90LXByZXNlbnQgZGVzY3JpcHRvciB3aWxsIGFsd2F5cyBm YXVsdCwgc28gaXMgc2FmZS4gKi8KLSAgICBpZiAoICEoYiAmIF9TRUdNRU5UX1ApICkgCi0gICAg ICAgIHJldHVybiAxOwotCi0gICAgLyogQ2hlY2sgYW5kIGZpeCB1cCB0aGUgRFBMLiAqLwotICAg IGRwbCA9IChiID4+IDEzKSAmIDM7Ci0gICAgX19maXh1cF9ndWVzdF9zZWxlY3Rvcihkb20sIGRw bCk7Ci0gICAgYiA9IChiICYgfl9TRUdNRU5UX0RQTCkgfCAoZHBsIDw8IDEzKTsKLQotICAgIC8q IEFsbCBjb2RlIGFuZCBkYXRhIHNlZ21lbnRzIGFyZSBva2F5LiBObyBiYXNlL2xpbWl0IGNoZWNr aW5nLiAqLwotICAgIGlmICggKGIgJiBfU0VHTUVOVF9TKSApCi0gICAgewotICAgICAgICBpZiAo IGlzX3B2XzMyYml0X2RvbWFpbihkb20pICkKLSAgICAgICAgewotICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBiYXNlLCBsaW1pdDsKLQotICAgICAgICAgICAgaWYgKCBiICYgX1NFR01FTlRfTCAp Ci0gICAgICAgICAgICAgICAgZ290byBiYWQ7Ci0KLSAgICAgICAgICAgIC8qCi0gICAgICAgICAg ICAgKiBPbGRlciBQQUUgTGludXggZ3Vlc3RzIHVzZSBzZWdtZW50cyB3aGljaCBhcmUgbGltaXRl ZCB0bwotICAgICAgICAgICAgICogMHhmNjgwMDAwMC4gRXh0ZW5kIHRoZXNlIHRvIGFsbG93IGFj Y2VzcyB0byB0aGUgbGFyZ2VyIHJlYWQtb25seQotICAgICAgICAgICAgICogTTJQIHRhYmxlIGF2 YWlsYWJsZSBpbiAzMm9uNjQgbW9kZS4KLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgYmFz ZSA9IChiICYgKDB4ZmYgPDwgMjQpKSB8ICgoYiAmIDB4ZmYpIDw8IDE2KSB8IChhID4+IDE2KTsK LQotICAgICAgICAgICAgbGltaXQgPSAoYiAmIDB4ZjAwMDApIHwgKGEgJiAweGZmZmYpOwotICAg ICAgICAgICAgbGltaXQrKzsgLyogV2UgYWRkIG9uZSBiZWNhdXNlIGxpbWl0IGlzIGluY2x1c2l2 ZS4gKi8KLQotICAgICAgICAgICAgaWYgKCAoYiAmIF9TRUdNRU5UX0cpICkKLSAgICAgICAgICAg ICAgICBsaW1pdCA8PD0gMTI7Ci0KLSAgICAgICAgICAgIGlmICggKGJhc2UgPT0gMCkgJiYgKGxp bWl0ID4gSFlQRVJWSVNPUl9DT01QQVRfVklSVF9TVEFSVChkb20pKSApCi0gICAgICAgICAgICB7 Ci0gICAgICAgICAgICAgICAgYSB8PSAweDAwMDBmZmZmOwotICAgICAgICAgICAgICAgIGIgfD0g MHgwMDBmMDAwMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGdvdG8gZ29v ZDsKLSAgICB9Ci0KLSAgICAvKiBJbnZhbGlkIHR5cGUgMCBpcyBoYXJtbGVzcy4gSXQgaXMgdXNl ZCBmb3IgMm5kIGhhbGYgb2YgYSBjYWxsIGdhdGUuICovCi0gICAgaWYgKCAoYiAmIF9TRUdNRU5U X1RZUEUpID09IDB4MDAwICkKLSAgICAgICAgcmV0dXJuIDE7Ci0KLSAgICAvKiBFdmVyeXRoaW5n IGJ1dCBhIGNhbGwgZ2F0ZSBpcyBkaXNjYXJkZWQgaGVyZS4gKi8KLSAgICBpZiAoIChiICYgX1NF R01FTlRfVFlQRSkgIT0gMHhjMDAgKQotICAgICAgICBnb3RvIGJhZDsKLQotICAgIC8qIFZhbGlk YXRlIHRoZSB0YXJnZXQgY29kZSBzZWxlY3Rvci4gKi8KLSAgICBjcyA9IGEgPj4gMTY7Ci0gICAg aWYgKCAhZ3Vlc3RfZ2F0ZV9zZWxlY3Rvcl9va2F5KGRvbSwgY3MpICkKLSAgICAgICAgZ290byBi YWQ7Ci0gICAgLyoKLSAgICAgKiBGb3JjZSBEUEwgdG8gemVybywgY2F1c2luZyBhIEdQIGZhdWx0 IHdpdGggaXRzIGVycm9yIGNvZGUgaW5kaWNhdGluZwotICAgICAqIHRoZSBnYXRlIGluIHVzZSwg YWxsb3dpbmcgZW11bGF0aW9uLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHdpdGgKLSAgICAg KiBuYXRpdmUgZ3Vlc3RzIChrZXJuZWwgaW4gcmluZyAzKSBjYWxsIGdhdGVzIGNhbm5vdCBiZSB1 c2VkIGRpcmVjdGx5Ci0gICAgICogdG8gdHJhbnNpdGlvbiBmcm9tIHVzZXIgdG8ga2VybmVsIG1v ZGUgKGFuZCB3aGV0aGVyIGEgZ2F0ZSBpcyB1c2VkCi0gICAgICogdG8gZW50ZXIgdGhlIGtlcm5l bCBjYW4gb25seSBiZSBkZXRlcm1pbmVkIHdoZW4gdGhlIGdhdGUgaXMgYmVpbmcKLSAgICAgKiB1 c2VkKSwgYW5kIHdpdGggY29tcGF0IGd1ZXN0cyBjYWxsIGdhdGVzIGNhbm5vdCBiZSB1c2VkIGF0 IGFsbCBhcwotICAgICAqIHRoZXJlIGFyZSBvbmx5IDY0LWJpdCBvbmVzLgotICAgICAqIFN0b3Jl IHRoZSBvcmlnaW5hbCBEUEwgaW4gdGhlIHNlbGVjdG9yJ3MgUlBMIGZpZWxkLgotICAgICAqLwot ICAgIGIgJj0gfl9TRUdNRU5UX0RQTDsKLSAgICBjcyA9IChjcyAmIH4zKSB8IGRwbDsKLSAgICBh ID0gKGEgJiAweGZmZmZVKSB8IChjcyA8PCAxNik7Ci0KLSAgICAvKiBSZXNlcnZlZCBiaXRzIG11 c3QgYmUgemVyby4gKi8KLSAgICBpZiAoIGIgJiAoaXNfcHZfMzJiaXRfZG9tYWluKGRvbSkgPyAw eGUwIDogMHhmZikgKQotICAgICAgICBnb3RvIGJhZDsKLSAgICAgICAgCi0gZ29vZDoKLSAgICBk LT5hID0gYTsKLSAgICBkLT5iID0gYjsKLSAgICByZXR1cm4gMTsKLSBiYWQ6Ci0gICAgcmV0dXJu IDA7Ci19Ci0KIGludCBwYWdlZmF1bHRfYnlfbWVtYWRkKHVuc2lnbmVkIGxvbmcgYWRkciwgc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJl bnQtPmRvbWFpbjsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvbW0uaAppbmRleCA4ZTJiZjkxMDcwLi5jYTcwZjE0NTAwIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9t bS5oCkBAIC00MTEsOCArNDExLDYgQEAgc3RhdGljIGlubGluZSBpbnQgZ2V0X3BhZ2VfYW5kX3R5 cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwKICAgICBBU1NFUlQoKChfcCktPmNvdW50X2luZm8g JiBQR0NfY291bnRfbWFzaykgIT0gMCk7ICAgICAgICAgIFwKICAgICBBU1NFUlQocGFnZV9nZXRf b3duZXIoX3ApID09IChfZCkpCiAKLWludCBjaGVja19kZXNjcmlwdG9yKGNvbnN0IHN0cnVjdCBk b21haW4gKiwgc3RydWN0IGRlc2Nfc3RydWN0ICpkKTsKLQogZXh0ZXJuIGJvb2xfdCBvcHRfYWxs b3dfc3VwZXJwYWdlOwogZXh0ZXJuIHBhZGRyX3QgbWVtX2hvdHBsdWc7CiAKLS0gCjIuMTEuMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=