From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Yi Subject: [PATCH RFC 14/14] xen: tools: Added xen-subpage tool. Date: Thu, 19 Oct 2017 16:16:18 +0800 Message-ID: <90cbda6aa45b0de7e16b685af9b64e2973a139ba.1508397860.git.yi.z.zhang@linux.intel.com> References: 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 1e55zi-0004qa-2U for xen-devel@lists.xenproject.org; Thu, 19 Oct 2017 08:15:58 +0000 In-Reply-To: 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: kevin.tian@intel.com, tamas@tklengyel.com, wei.liu2@citrix.com, jun.nakajima@intel.com, rcojocaru@bitdefender.com, george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Zhang Yi Z , jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org RnJvbTogWmhhbmcgWWkgWiA8eWkuei56aGFuZ0BsaW51eC5pbnRlbC5jb20+CgpJdCBpcyBhIHRv b2wgY291bGQgc2V0IGEgNEsgcGFnZSBjb3JyZXNwb25kaW5nIGEgMzIgYml0IGJpdG1hcDoKeGVu LXN1YnBhZ2UgLW0gW2RvbWlkXSBzZXQgW2dmbl0gW2JpdG1hcF0KClNpZ25lZC1vZmYtYnk6IFpo YW5nIFlpIFogPHlpLnouemhhbmdAbGludXguaW50ZWwuY29tPgotLS0KIHRvb2xzL3Rlc3RzL3hl bi1zdWJwYWdlL01ha2VmaWxlICAgICAgfCAgMzAgKysrKysrKysKIHRvb2xzL3Rlc3RzL3hlbi1z dWJwYWdlL3hlbi1zdWJwYWdlLmMgfCAxMjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNTUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAw NjQ0IHRvb2xzL3Rlc3RzL3hlbi1zdWJwYWdlL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQg dG9vbHMvdGVzdHMveGVuLXN1YnBhZ2UveGVuLXN1YnBhZ2UuYwoKZGlmZiAtLWdpdCBhL3Rvb2xz L3Rlc3RzL3hlbi1zdWJwYWdlL01ha2VmaWxlIGIvdG9vbHMvdGVzdHMveGVuLXN1YnBhZ2UvTWFr ZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODliNThmMgotLS0gL2Rl di9udWxsCisrKyBiL3Rvb2xzL3Rlc3RzL3hlbi1zdWJwYWdlL01ha2VmaWxlCkBAIC0wLDAgKzEs MzAgQEAKK1hFTl9ST09UPSQoQ1VSRElSKS8uLi8uLi8uLgoraW5jbHVkZSAkKFhFTl9ST09UKS90 b29scy9SdWxlcy5taworCitDRkxBR1MgKz0gLVdlcnJvcgorQ0ZMQUdTICs9IC1EWENfV0FOVF9D T01QQVRfREVWSUNFTU9ERUxfQVBJCisKK0NGTEFHUyArPSAkKENGTEFHU19saWJ4ZW5jdHJsKQor Q0ZMQUdTICs9ICQoQ0ZMQUdTX2xpYnhlbmd1ZXN0KQorQ0ZMQUdTICs9ICQoQ0ZMQUdTX3hlbmlu Y2x1ZGUpCisKK1RBUkdFVFMteSA6PSB4ZW4tc3VicGFnZQorVEFSR0VUUyA6PSAkKFRBUkdFVFMt eSkKKworLlBIT05ZOiBhbGwKK2FsbDogYnVpbGQKKworLlBIT05ZOiBidWlsZAorYnVpbGQ6ICQo VEFSR0VUUykKKworLlBIT05ZOiBjbGVhbgorY2xlYW46CisJJChSTSkgKi5vICQoVEFSR0VUUykg Kn4gJChERVBTKQorCisuUEhPTlk6IGRpc3RjbGVhbgorZGlzdGNsZWFuOiBjbGVhbgorCit4ZW4t c3VicGFnZTogeGVuLXN1YnBhZ2UubyBNYWtlZmlsZQorCSQoQ0MpIC1vICRAICQ8ICQoTERGTEFH UykgJChMRExJQlNfbGlieGVuY3RybCkgJChMRExJQlNfbGlieGVuZ3Vlc3QpICQoTERMSUJTX2xp YnhlbmV2dGNobikKKworLWluY2x1ZGUgJChERVBTKQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdHMv eGVuLXN1YnBhZ2UveGVuLXN1YnBhZ2UuYyBiL3Rvb2xzL3Rlc3RzL3hlbi1zdWJwYWdlL3hlbi1z dWJwYWdlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhlNDE2YwotLS0g L2Rldi9udWxsCisrKyBiL3Rvb2xzL3Rlc3RzL3hlbi1zdWJwYWdlL3hlbi1zdWJwYWdlLmMKQEAg LTAsMCArMSwxMjUgQEAKKy8qCisgKiB4ZW4tc3VicGFnZS5jCisgKgorICogRXhlcmNpc2VzIHRo ZSBiYXNpYyBwZXItcGFnZSBhY2Nlc3MgbWVjaGFuaXNtcworICoKKyAqIENvcHlyaWdodCAoYykg MjAxMSBWaXJ0dWF0YSwgSW5jLgorICogQ29weXJpZ2h0IChjKSAyMDE3IGJ5IEludGVsCisgKgor ICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh bnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICogZGVhbCBp biB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGlt aXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMgb2YgdGhl IFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMK KyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp YWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisg KiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9G IE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO RCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SUyBPUiBD T1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhF UgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBP UiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ VEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKyAqIERFQUxJTkdTIElOIFRIRSBT T0ZUV0FSRS4KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5o PgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0 ZGJvb2wuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVk ZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4K KyNpbmNsdWRlIDxwb2xsLmg+CisKKyNpbmNsdWRlIDx4ZW5jdHJsLmg+CisKKyNkZWZpbmUgRFBS SU5URihhLCBiLi4uKSBmcHJpbnRmKHN0ZGVyciwgYSwgIyMgYikKKyNkZWZpbmUgRVJST1IoYSwg Yi4uLikgZnByaW50ZihzdGRlcnIsIGEgIlxuIiwgIyMgYikKKyNkZWZpbmUgUEVSUk9SKGEsIGIu Li4pIGZwcmludGYoc3RkZXJyLCBhICI6ICVzXG4iLCAjIyBiLCBzdHJlcnJvcihlcnJubykpCisK K3ZvaWQgdXNhZ2UoY2hhciogcHJvZ25hbWUpCit7CisgICAgZnByaW50ZihzdGRlcnIsICJVc2Fn ZTogJXMgWy1tXSA8ZG9tYWluX2lkPiBnZXR8c2V0IFtnZm5dIFtiaXRfbWFwXSIsIHByb2duYW1l KTsKKworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAiXG4iCisgICAg ICAgICAgICAic2V0IC0gc2V0IGdmbiBiaXRtYXAuXG4iCisgICAgICAgICAgICAiXG4iCisgICAg ICAgICAgICAiLW0gcmVxdWlyZXMgdGhpcyBwcm9ncmFtIHRvIHJ1blxuIik7Cit9CisKK2ludCBt YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisgICAgZG9taWRfdCBkb21haW5faWQ7Cisg ICAgeGNfaW50ZXJmYWNlICp4Y2g7CisgICAgeGVuX3Bmbl90IGdmbiA9IDA7CisgICAgdWludDMy X3QgYWNjZXNzID0gMDsKKyAgICBpbnQgcmVxdWlyZWQgPSAwOworICAgIGludCByYyA9IDA7CisK KyAgICBjaGFyKiBwcm9nbmFtZSA9IGFyZ3ZbMF07CisgICAgYXJndisrOworICAgIGFyZ2MtLTsK KworICAgIGlmICggYXJnYyA9PSA1ICYmIGFyZ3ZbMF1bMF0gPT0gJy0nICkKKyAgICB7CisgICAg ICAgIGlmICggIXN0cmNtcChhcmd2WzBdLCAiLW0iKSApCisgICAgICAgICAgICByZXF1aXJlZCA9 IDE7CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgdXNhZ2UocHJvZ25hbWUp OworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGFyZ3YrKzsKKyAg ICAgICAgYXJnYy0tOworICAgIH0KKworICAgIGlmICggYXJnYyAhPSA0ICkKKyAgICB7CisgICAg ICAgIHVzYWdlKHByb2duYW1lKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGRv bWFpbl9pZCA9IGF0b2koYXJndlswXSk7CisgICAgYXJndisrOworICAgIGFyZ2MtLTsKKworICAg IGlmICggIXN0cmNtcChhcmd2WzBdLCAic2V0IikgKQorICAgIHsKKyAgICAgICAgZ2ZuID0gc3Ry dG91bChhcmd2WzFdLCAwLCAwKTsKKyAgICAgICAgYWNjZXNzID0gc3RydG91bChhcmd2WzJdLCAw LCAwKTsKKyAgICAgICAgRFBSSU5URigic2V0IHN1YnBhZ2UgZ2ZuOjB4JWx4IC0tIG1hcDoweCV4 XG4iLCBnZm4sIGFjY2Vzcyk7CisgICAgICAgIHhjaCA9IHhjX2ludGVyZmFjZV9vcGVuKE5VTEws IE5VTEwsIDApOworICAgICAgICBpZiAoICF4Y2ggKQorICAgICAgICB7CisgICAgICAgICAgICBF UlJPUigiZ2V0IGludGVyZmFjZSBlcnJvclxuIik7CisgICAgICAgICAgICByZXR1cm4gLTE7Cisg ICAgICAgIH0KKyAgICAgICAgeGNfbWVtX3NldF9zdWJwYWdlKHhjaCwgZG9tYWluX2lkLCBnZm4s IGFjY2Vzcyk7CisgICAgICAgIHhjX2ludGVyZmFjZV9jbG9zZSh4Y2gpOworICAgIH0KKyAgICBl bHNlCisgICAgeworICAgICAgICB1c2FnZShhcmd2WzBdKTsKKyAgICAgICAgcmV0dXJuIC0xOwor ICAgIH0KKworICAgIHJldHVybiByYzsKK30KKworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgor ICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQK KyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCi0tIAoyLjcuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=