From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v3 03/21] x86/mm: split HVM grant table code to hvm/grant_table.c Date: Thu, 20 Jul 2017 17:04:08 +0100 Message-ID: <20170720160426.2343-4-wei.liu2@citrix.com> References: <20170720160426.2343-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dYDwJ-0000ES-IQ for xen-devel@lists.xenproject.org; Thu, 20 Jul 2017 16:04:35 +0000 In-Reply-To: <20170720160426.2343-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 U2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJj aC94ODYvaHZtL01ha2VmaWxlICAgICAgfCAgMSArCiB4ZW4vYXJjaC94ODYvaHZtL2dyYW50X3Rh YmxlLmMgfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhl bi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICAgICB8IDUzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIDMgZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gveDg2L2h2bS9ncmFudF90YWJsZS5jCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L2h2bS9NYWtlZmlsZSBiL3hlbi9hcmNoL3g4Ni9odm0vTWFrZWZp bGUKaW5kZXggYzM5NGFmNzM2NC4uNWJkMzhmNjMzZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2h2bS9NYWtlZmlsZQorKysgYi94ZW4vYXJjaC94ODYvaHZtL01ha2VmaWxlCkBAIC02LDYgKzYs NyBAQCBvYmoteSArPSBkbS5vCiBvYmotYmluLXkgKz0gZG9tMF9idWlsZC5pbml0Lm8KIG9iai15 ICs9IGRvbWFpbi5vCiBvYmoteSArPSBlbXVsYXRlLm8KK29iai15ICs9IGdyYW50X3RhYmxlLm8K IG9iai15ICs9IGhwZXQubwogb2JqLXkgKz0gaHZtLm8KIG9iai15ICs9IGh5cGVyY2FsbC5vCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2dyYW50X3RhYmxlLmMgYi94ZW4vYXJjaC94ODYv aHZtL2dyYW50X3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4u NzUwM2MyYzYxYgotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZ3JhbnRfdGFi bGUuYwpAQCAtMCwwICsxLDg5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBhcmNoL3g4 Ni9odm0vZ3JhbnRfdGFibGUuYworICoKKyAqIEdyYW50IHRhYmxlIGludGVyZmFjZXMgZm9yIEhW TSBndWVzdHMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgV2VpIExpdSA8d2VpLmxpdTJAY2l0 cml4LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y CisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1 ZGUgPHhlbi90eXBlcy5oPgorCisjaW5jbHVkZSA8cHVibGljL2dyYW50X3RhYmxlLmg+CisKKyNp bmNsdWRlIDxhc20vcDJtLmg+CisKK2ludCBjcmVhdGVfZ3JhbnRfcDJtX21hcHBpbmcodWludDY0 X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgY2FjaGVfZmxhZ3MpCit7CisgICAgcDJtX3R5cGVfdCBwMm10OworICAgIGludCBy YzsKKworICAgIGlmICggY2FjaGVfZmxhZ3MgIHx8IChmbGFncyAmIH5HTlRNQVBfcmVhZG9ubHkp ICE9IEdOVE1BUF9ob3N0X21hcCApCisgICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFsX2Vycm9y OworCisgICAgaWYgKCBmbGFncyAmIEdOVE1BUF9yZWFkb25seSApCisgICAgICAgIHAybXQgPSBw Mm1fZ3JhbnRfbWFwX3JvOworICAgIGVsc2UKKyAgICAgICAgcDJtdCA9IHAybV9ncmFudF9tYXBf cnc7CisgICAgcmMgPSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShjdXJyZW50LT5kb21haW4sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZ2ZuKGFkZHIgPj4gUEFHRV9TSElGVCks CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGZyYW1lKSwgUEFHRV9PUkRF Ul80SywgcDJtdCk7CisgICAgaWYgKCByYyApCisgICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFs X2Vycm9yOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIEdOVFNUX29rYXk7Cit9CisKK2ludCBy ZXBsYWNlX2dyYW50X3AybV9tYXBwaW5nKHVpbnQ2NF90IGFkZHIsIHVuc2lnbmVkIGxvbmcgZnJh bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBuZXdfYWRkciwgdW5z aWduZWQgaW50IGZsYWdzKQoreworICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gKHVuc2lnbmVkIGxv bmcpKGFkZHIgPj4gUEFHRV9TSElGVCk7CisgICAgcDJtX3R5cGVfdCB0eXBlOworICAgIG1mbl90 IG9sZF9tZm47CisgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFpbjsKKworICAg IGlmICggbmV3X2FkZHIgIT0gMCB8fCAoZmxhZ3MgJiBHTlRNQVBfY29udGFpbnNfcHRlKSApCisg ICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFsX2Vycm9yOworCisgICAgb2xkX21mbiA9IGdldF9n Zm4oZCwgZ2ZuLCAmdHlwZSk7CisgICAgaWYgKCAhcDJtX2lzX2dyYW50KHR5cGUpIHx8IG1mbl94 KG9sZF9tZm4pICE9IGZyYW1lICkKKyAgICB7CisgICAgICAgIHB1dF9nZm4oZCwgZ2ZuKTsKKyAg ICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsCisgICAgICAgICAgICAgICAgICJvbGQgbWFw cGluZyBpbnZhbGlkICh0eXBlICVkLCBtZm4gJSIgUFJJX21mbiAiLCBmcmFtZSAlbHgpXG4iLAor ICAgICAgICAgICAgICAgICB0eXBlLCBtZm5feChvbGRfbWZuKSwgZnJhbWUpOworICAgICAgICBy ZXR1cm4gR05UU1RfZ2VuZXJhbF9lcnJvcjsKKyAgICB9CisgICAgaWYgKCBndWVzdF9waHlzbWFw X3JlbW92ZV9wYWdlKGQsIF9nZm4oZ2ZuKSwgX21mbihmcmFtZSksIFBBR0VfT1JERVJfNEspICkK KyAgICB7CisgICAgICAgIHB1dF9nZm4oZCwgZ2ZuKTsKKyAgICAgICAgcmV0dXJuIEdOVFNUX2dl bmVyYWxfZXJyb3I7CisgICAgfQorCisgICAgcHV0X2dmbihkLCBnZm4pOworICAgIHJldHVybiBH TlRTVF9va2F5OworfQorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICog Yy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRhYi13aWR0aDog NAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggZGVmYzJjOWJjYy4uNGU2 ZjlmNTc1MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2 L21tLmMKQEAgLTQyNDUsMjkgKzQyNDUsNiBAQCBzdGF0aWMgaW50IGRlc3Ryb3lfZ3JhbnRfdmFf bWFwcGluZygKICAgICByZXR1cm4gcmVwbGFjZV9ncmFudF92YV9tYXBwaW5nKGFkZHIsIGZyYW1l LCBsMWVfZW1wdHkoKSwgdik7CiB9CiAKLWludCBjcmVhdGVfZ3JhbnRfcDJtX21hcHBpbmcodWlu dDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgY2FjaGVfZmxhZ3MpCi17Ci0gICAgcDJtX3R5cGVfdCBwMm10OwotICAgIGlu dCByYzsKLQotICAgIGlmICggY2FjaGVfZmxhZ3MgIHx8IChmbGFncyAmIH5HTlRNQVBfcmVhZG9u bHkpICE9IEdOVE1BUF9ob3N0X21hcCApCi0gICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFsX2Vy cm9yOwotCi0gICAgaWYgKCBmbGFncyAmIEdOVE1BUF9yZWFkb25seSApCi0gICAgICAgIHAybXQg PSBwMm1fZ3JhbnRfbWFwX3JvOwotICAgIGVsc2UKLSAgICAgICAgcDJtdCA9IHAybV9ncmFudF9t YXBfcnc7Ci0gICAgcmMgPSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShjdXJyZW50LT5kb21haW4s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZ2ZuKGFkZHIgPj4gUEFHRV9TSElG VCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKGZyYW1lKSwgUEFHRV9P UkRFUl80SywgcDJtdCk7Ci0gICAgaWYgKCByYyApCi0gICAgICAgIHJldHVybiBHTlRTVF9nZW5l cmFsX2Vycm9yOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIEdOVFNUX29rYXk7Ci19Ci0KIGlu dCBjcmVhdGVfZ3JhbnRfcHZfbWFwcGluZyh1aW50NjRfdCBhZGRyLCB1bnNpZ25lZCBsb25nIGZy YW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncywgdW5z aWduZWQgaW50IGNhY2hlX2ZsYWdzKQogewpAQCAtNDI5NiwzNiArNDI3Myw2IEBAIGludCBjcmVh dGVfZ3JhbnRfcHZfbWFwcGluZyh1aW50NjRfdCBhZGRyLCB1bnNpZ25lZCBsb25nIGZyYW1lLAog ICAgIHJldHVybiBjcmVhdGVfZ3JhbnRfdmFfbWFwcGluZyhhZGRyLCBwdGUsIGN1cnJlbnQpOwog fQogCi1pbnQgcmVwbGFjZV9ncmFudF9wMm1fbWFwcGluZygKLSAgICB1aW50NjRfdCBhZGRyLCB1 bnNpZ25lZCBsb25nIGZyYW1lLCB1aW50NjRfdCBuZXdfYWRkciwgdW5zaWduZWQgaW50IGZsYWdz KQotewotICAgIHVuc2lnbmVkIGxvbmcgZ2ZuID0gKHVuc2lnbmVkIGxvbmcpKGFkZHIgPj4gUEFH RV9TSElGVCk7Ci0gICAgcDJtX3R5cGVfdCB0eXBlOwotICAgIG1mbl90IG9sZF9tZm47Ci0gICAg c3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFpbjsKLQotICAgIGlmICggbmV3X2FkZHIg IT0gMCB8fCAoZmxhZ3MgJiBHTlRNQVBfY29udGFpbnNfcHRlKSApCi0gICAgICAgIHJldHVybiBH TlRTVF9nZW5lcmFsX2Vycm9yOwotCi0gICAgb2xkX21mbiA9IGdldF9nZm4oZCwgZ2ZuLCAmdHlw ZSk7Ci0gICAgaWYgKCAhcDJtX2lzX2dyYW50KHR5cGUpIHx8IG1mbl94KG9sZF9tZm4pICE9IGZy YW1lICkKLSAgICB7Ci0gICAgICAgIHB1dF9nZm4oZCwgZ2ZuKTsKLSAgICAgICAgZ2RwcmludGso WEVOTE9HX1dBUk5JTkcsCi0gICAgICAgICAgICAgICAgICJvbGQgbWFwcGluZyBpbnZhbGlkICh0 eXBlICVkLCBtZm4gJSIgUFJJX21mbiAiLCBmcmFtZSAlbHgpXG4iLAotICAgICAgICAgICAgICAg ICB0eXBlLCBtZm5feChvbGRfbWZuKSwgZnJhbWUpOwotICAgICAgICByZXR1cm4gR05UU1RfZ2Vu ZXJhbF9lcnJvcjsKLSAgICB9Ci0gICAgaWYgKCBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQs IF9nZm4oZ2ZuKSwgX21mbihmcmFtZSksIFBBR0VfT1JERVJfNEspICkKLSAgICB7Ci0gICAgICAg IHB1dF9nZm4oZCwgZ2ZuKTsKLSAgICAgICAgcmV0dXJuIEdOVFNUX2dlbmVyYWxfZXJyb3I7Ci0g ICAgfQotCi0gICAgcHV0X2dmbihkLCBnZm4pOwotICAgIHJldHVybiBHTlRTVF9va2F5OwotfQot CiBpbnQgcmVwbGFjZV9ncmFudF9wdl9tYXBwaW5nKHVpbnQ2NF90IGFkZHIsIHVuc2lnbmVkIGxv bmcgZnJhbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IG5ld19hZGRy LCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK