From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 for-next v2 8/8] x86/mm: split HVM grant table code to hvm/mm.c Date: Mon, 3 Apr 2017 12:22:46 +0100 Message-ID: <20170403112246.6975-9-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 1cv04T-000230-JH for xen-devel@lists.xenproject.org; Mon, 03 Apr 2017 11:22:53 +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 UEdfZXh0ZXJuYWwgcmVxdWlyZXMgaGFyZHdhcmUgc3VwcG9ydCBzbyB0aGUgY29kZSBndWFyZGVk IGJ5IHRoYXQgaXMgSFZNCm9ubHkuCgpTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vTWFrZWZpbGUgICAgICAgICB8ICAxICsK IHhlbi9hcmNoL3g4Ni9odm0vbW0uYyAgICAgICAgICAgICB8IDg1ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L21tLmMgICAgICAgICAgICAgICAg IHwgNDkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9ncmFudF90 YWJsZS5oIHwgIDUgKysrCiA0IGZpbGVzIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKyksIDQ5IGRl bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL3g4Ni9odm0vbW0uYwoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvaHZtL01h a2VmaWxlCmluZGV4IDBhM2QwZjRmN2UuLjNlOGQzNjJjOGUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9odm0vTWFrZWZpbGUKKysrIGIveGVuL2FyY2gveDg2L2h2bS9NYWtlZmlsZQpAQCAtMTMs NiArMTMsNyBAQCBvYmoteSArPSBpbnRlcmNlcHQubwogb2JqLXkgKz0gaW8ubwogb2JqLXkgKz0g aW9yZXEubwogb2JqLXkgKz0gaXJxLm8KK29iai15ICs9IG1tLm8KIG9iai15ICs9IG1vbml0b3Iu bwogb2JqLXkgKz0gbXRyci5vCiBvYmoteSArPSBuZXN0ZWRodm0ubwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2h2bS9tbS5jIGIveGVuL2FyY2gveDg2L2h2bS9tbS5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjhhNjk1MGI1NTEKLS0tIC9kZXYvbnVsbAorKysgYi94 ZW4vYXJjaC94ODYvaHZtL21tLmMKQEAgLTAsMCArMSw4NSBAQAorLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgorICogYXJjaC94ODYvaHZtL21tLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDItMjAw NSBLIEEgRnJhc2VyCisgKiBDb3B5cmlnaHQgKGMpIDIwMDQgQ2hyaXN0aWFuIExpbXBhY2gKKyAq CisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1ZGUgPHhlbi90eXBl cy5oPgorCisjaW5jbHVkZSA8cHVibGljL2dyYW50X3RhYmxlLmg+CisKKyNpbmNsdWRlIDxhc20v cDJtLmg+CisKK2ludCBjcmVhdGVfZ3JhbnRfcDJtX21hcHBpbmcodWludDY0X3QgYWRkciwgdW5z aWduZWQgbG9uZyBmcmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50IGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY2Fj aGVfZmxhZ3MpCit7CisgICAgcDJtX3R5cGVfdCBwMm10OworICAgIGludCByYzsKKworICAgIGlm ICggY2FjaGVfZmxhZ3MgIHx8IChmbGFncyAmIH5HTlRNQVBfcmVhZG9ubHkpICE9IEdOVE1BUF9o b3N0X21hcCApCisgICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFsX2Vycm9yOworCisgICAgaWYg KCBmbGFncyAmIEdOVE1BUF9yZWFkb25seSApCisgICAgICAgIHAybXQgPSBwMm1fZ3JhbnRfbWFw X3JvOworICAgIGVsc2UKKyAgICAgICAgcDJtdCA9IHAybV9ncmFudF9tYXBfcnc7CisgICAgcmMg PSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShjdXJyZW50LT5kb21haW4sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBfZ2ZuKGFkZHIgPj4gUEFHRV9TSElGVCksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGZyYW1lKSwgUEFHRV9PUkRFUl80SywgcDJtdCk7 CisgICAgaWYgKCByYyApCisgICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFsX2Vycm9yOworICAg IGVsc2UKKyAgICAgICAgcmV0dXJuIEdOVFNUX29rYXk7Cit9CisKKworaW50IHJlcGxhY2VfZ3Jh bnRfcDJtX21hcHBpbmcoIGludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBuZXdfYWRkciwgdW5zaWduZWQgaW50 IGZsYWdzKQoreworICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gKHVuc2lnbmVkIGxvbmcpKGFkZHIg Pj4gUEFHRV9TSElGVCk7CisgICAgcDJtX3R5cGVfdCB0eXBlOworICAgIG1mbl90IG9sZF9tZm47 CisgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFpbjsKKworICAgIGlmICggbmV3 X2FkZHIgIT0gMCB8fCAoZmxhZ3MgJiBHTlRNQVBfY29udGFpbnNfcHRlKSApCisgICAgICAgIHJl dHVybiBHTlRTVF9nZW5lcmFsX2Vycm9yOworCisgICAgb2xkX21mbiA9IGdldF9nZm4oZCwgZ2Zu LCAmdHlwZSk7CisgICAgaWYgKCAhcDJtX2lzX2dyYW50KHR5cGUpIHx8IG1mbl94KG9sZF9tZm4p ICE9IGZyYW1lICkKKyAgICB7CisgICAgICAgIHB1dF9nZm4oZCwgZ2ZuKTsKKyAgICAgICAgZ2Rw cmludGsoWEVOTE9HX1dBUk5JTkcsCisgICAgICAgICAgICAgICAgICJvbGQgbWFwcGluZyBpbnZh bGlkICh0eXBlICVkLCBtZm4gJSIgUFJJX21mbiAiLCBmcmFtZSAlbHgpXG4iLAorICAgICAgICAg ICAgICAgICB0eXBlLCBtZm5feChvbGRfbWZuKSwgZnJhbWUpOworICAgICAgICByZXR1cm4gR05U U1RfZ2VuZXJhbF9lcnJvcjsKKyAgICB9CisgICAgZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShk LCBfZ2ZuKGdmbiksIF9tZm4oZnJhbWUpLCBQQUdFX09SREVSXzRLKTsKKworICAgIHB1dF9nZm4o ZCwgZ2ZuKTsKKyAgICByZXR1cm4gR05UU1Rfb2theTsKK30KKworLyoKKyAqIExvY2FsIHZhcmlh YmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zm c2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5k OgorICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5j CmluZGV4IDE2OWFlN2U0YTEuLjdkZGIyNzEwOTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9t bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC0xMDA5LDI5ICsxMDA5LDYgQEAgaW50IHZj cHVfZGVzdHJveV9wYWdldGFibGVzKHN0cnVjdCB2Y3B1ICp2KQogICAgIHJldHVybiByYyAhPSAt RUlOVFIgPyByYyA6IC1FUkVTVEFSVDsKIH0KIAotc3RhdGljIGludCBjcmVhdGVfZ3JhbnRfcDJt X21hcHBpbmcodWludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncywKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjYWNoZV9mbGFncykKLXsKLSAg ICBwMm1fdHlwZV90IHAybXQ7Ci0gICAgaW50IHJjOwotCi0gICAgaWYgKCBjYWNoZV9mbGFncyAg fHwgKGZsYWdzICYgfkdOVE1BUF9yZWFkb25seSkgIT0gR05UTUFQX2hvc3RfbWFwICkKLSAgICAg ICAgcmV0dXJuIEdOVFNUX2dlbmVyYWxfZXJyb3I7Ci0KLSAgICBpZiAoIGZsYWdzICYgR05UTUFQ X3JlYWRvbmx5ICkKLSAgICAgICAgcDJtdCA9IHAybV9ncmFudF9tYXBfcm87Ci0gICAgZWxzZQot ICAgICAgICBwMm10ID0gcDJtX2dyYW50X21hcF9ydzsKLSAgICByYyA9IGd1ZXN0X3BoeXNtYXBf YWRkX2VudHJ5KGN1cnJlbnQtPmRvbWFpbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF9nZm4oYWRkciA+PiBQQUdFX1NISUZUKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF9tZm4oZnJhbWUpLCBQQUdFX09SREVSXzRLLCBwMm10KTsKLSAgICBpZiAoIHJjICkK LSAgICAgICAgcmV0dXJuIEdOVFNUX2dlbmVyYWxfZXJyb3I7Ci0gICAgZWxzZQotICAgICAgICBy ZXR1cm4gR05UU1Rfb2theTsKLX0KLQogaW50IGNyZWF0ZV9ncmFudF9ob3N0X21hcHBpbmcodWlu dDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBmbGFncywgdW5zaWduZWQgaW50IGNhY2hlX2ZsYWdzKQogewpA QCAtMTA0MSwzMiArMTAxOCw2IEBAIGludCBjcmVhdGVfZ3JhbnRfaG9zdF9tYXBwaW5nKHVpbnQ2 NF90IGFkZHIsIHVuc2lnbmVkIGxvbmcgZnJhbWUsCiAgICAgcmV0dXJuIGNyZWF0ZV9ncmFudF9w dl9tYXBwaW5nKGFkZHIsIGZyYW1lLCBmbGFncywgY2FjaGVfZmxhZ3MpOwogfQogCi1zdGF0aWMg aW50IHJlcGxhY2VfZ3JhbnRfcDJtX21hcHBpbmcoCi0gICAgdWludDY0X3QgYWRkciwgdW5zaWdu ZWQgbG9uZyBmcmFtZSwgdWludDY0X3QgbmV3X2FkZHIsIHVuc2lnbmVkIGludCBmbGFncykKLXsK LSAgICB1bnNpZ25lZCBsb25nIGdmbiA9ICh1bnNpZ25lZCBsb25nKShhZGRyID4+IFBBR0VfU0hJ RlQpOwotICAgIHAybV90eXBlX3QgdHlwZTsKLSAgICBtZm5fdCBvbGRfbWZuOwotICAgIHN0cnVj dCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47Ci0KLSAgICBpZiAoIG5ld19hZGRyICE9IDAg fHwgKGZsYWdzICYgR05UTUFQX2NvbnRhaW5zX3B0ZSkgKQotICAgICAgICByZXR1cm4gR05UU1Rf Z2VuZXJhbF9lcnJvcjsKLQotICAgIG9sZF9tZm4gPSBnZXRfZ2ZuKGQsIGdmbiwgJnR5cGUpOwot ICAgIGlmICggIXAybV9pc19ncmFudCh0eXBlKSB8fCBtZm5feChvbGRfbWZuKSAhPSBmcmFtZSAp Ci0gICAgewotICAgICAgICBwdXRfZ2ZuKGQsIGdmbik7Ci0gICAgICAgIGdkcHJpbnRrKFhFTkxP R19XQVJOSU5HLAotICAgICAgICAgICAgICAgICAib2xkIG1hcHBpbmcgaW52YWxpZCAodHlwZSAl ZCwgbWZuICUiIFBSSV9tZm4gIiwgZnJhbWUgJWx4KVxuIiwKLSAgICAgICAgICAgICAgICAgdHlw ZSwgbWZuX3gob2xkX21mbiksIGZyYW1lKTsKLSAgICAgICAgcmV0dXJuIEdOVFNUX2dlbmVyYWxf ZXJyb3I7Ci0gICAgfQotICAgIGd1ZXN0X3BoeXNtYXBfcmVtb3ZlX3BhZ2UoZCwgX2dmbihnZm4p LCBfbWZuKGZyYW1lKSwgUEFHRV9PUkRFUl80Syk7Ci0KLSAgICBwdXRfZ2ZuKGQsIGdmbik7Ci0g ICAgcmV0dXJuIEdOVFNUX29rYXk7Ci19Ci0KIGludCByZXBsYWNlX2dyYW50X2hvc3RfbWFwcGlu Zyh1aW50NjRfdCBhZGRyLCB1bnNpZ25lZCBsb25nIGZyYW1lLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQ2NF90IG5ld19hZGRyLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2dyYW50X3RhYmxlLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L2dyYW50X3RhYmxlLmgKaW5kZXggOTU4MGRjMzJkYy4uZjRjZmNiZTU4ZCAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ncmFudF90YWJsZS5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvZ3JhbnRfdGFibGUuaApAQCAtMjEsNiArMjEsMTEgQEAgaW50IGNyZWF0ZV9n cmFudF9wdl9tYXBwaW5nKHVpbnQ2NF90IGFkZHIsIHVuc2lnbmVkIGxvbmcgZnJhbWUsCiAJCQkg ICAgdW5zaWduZWQgaW50IGZsYWdzLCB1bnNpZ25lZCBpbnQgY2FjaGVfZmxhZ3MpOwogaW50IHJl cGxhY2VfZ3JhbnRfcHZfbWFwcGluZyh1aW50NjRfdCBhZGRyLCB1bnNpZ25lZCBsb25nIGZyYW1l LAogCQkJICAgICB1aW50NjRfdCBuZXdfYWRkciwgdW5zaWduZWQgaW50IGZsYWdzKTsKK2ludCBj cmVhdGVfZ3JhbnRfcDJtX21hcHBpbmcodWludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFt ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY2FjaGVfZmxhZ3MpOworaW50 IHJlcGxhY2VfZ3JhbnRfcDJtX21hcHBpbmcodWludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBm cmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IG5ld19hZGRyLCB1 bnNpZ25lZCBpbnQgZmxhZ3MpOwogCiAjZGVmaW5lIGdudHRhYl9jcmVhdGVfc2hhcmVkX3BhZ2Uo ZCwgdCwgaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRvIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=