From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongli Zhang Subject: [PATCH v2 2/2] tools: utility to dump guest grant table info Date: Mon, 3 Jul 2017 07:34:13 +0800 Message-ID: <1499038453-17050-2-git-send-email-dongli.zhang@oracle.com> References: <1499038453-17050-1-git-send-email-dongli.zhang@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1499038453-17050-1-git-send-email-dongli.zhang@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: ian.jackson@eu.citrix.com, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org QXMgYm90aCB4ZW4tbmV0ZnJvbnQgYW5kIHhlbi1ibGtmcm9udCBzdXBwb3J0IG11bHRpLXF1ZXVl LCB0aGV5IHdvdWxkCmNvbnN1bWUgYSBsb3Qgb2YgZ3JhbnQgdGFibGUgcmVmZXJlbmNlcyB3aGVu IHRoZXJlIGFyZSBtYW55IHBhcmF2aXJ0dWFsCmRldmljZXMgYW5kIHZjcHVzIGFzc2lnbmVkIHRv IGd1ZXN0LiBHdWVzdCBkb21VIG1pZ2h0IHBhbmljIG9yIGhhbmcgZHVlIHRvCmdyYW50IGFsbG9j YXRpb24gZmFpbHVyZSB3aGVuIG5yX2dyYW50X2ZyYW1lcyBpbiBndWVzdCBoYXMgcmVhY2hlZCBp dHMgbWF4CnZhbHVlLgoKVGhpcyB1dGlsaXR5IHdvdWxkIGhlbHAgdGhlIGFkbWluaXN0cmF0b3Jz IHRvIGRpYWdub3NlIHhlbiBpc3N1ZS4gVGhlcmUgaXMKb25seSBvbmUgY29tbWFuZCBnbnR0YWJf cXVlcnlfc2l6ZSBzbyBmYXIgdG8gbW9uaXRvciB0aGUgZ3Vlc3QgZ3JhbnQgdGFibGUKZnJhbWUg dXNhZ2Ugb24gZG9tMCBzaWRlIHNvIHRoYXQgaXQgaXMgbm90IHJlcXVpcmVkIHRvIGRlYnVnIG9u IGd1ZXN0Cmtlcm5lbCBzaWRlIGZvciBjcmFzaC9oYW5nIGFuYWx5c2lzIGFueW1vcmUuCgpJdCBp cyBleHRlbnNpYmxlIGZvciBhZGRpbmcgbmV3IGNvbW1hbmRzIGZvciBtb3JlIGRpYWdub3N0aWMg ZnVuY3Rpb25zIGFuZAp0aGUgZnJhbWV3b3JrIG9mIHhlbi1kaWFnLmMgaXMgZnJvbSB4ZW4tbGl2 ZXBhdGNoLmMuCgpTaWduZWQtb2ZmLWJ5OiBEb25nbGkgWmhhbmcgPGRvbmdsaS56aGFuZ0BvcmFj bGUuY29tPgotLS0KQ2hhbmdlZCBzaW5jZSB2MToKICAqIHJld3JpdGUgeGVuLWdudHRhYi1xdWVy eS5jIHRvIHhlbi1kaWFnLmMgYmFzZWQgb24gbGl2ZXBhdGNoLmMgZnJhbWV3b3JrCgotLS0KIHRv b2xzL21pc2MvTWFrZWZpbGUgICB8ICAgNCArKwogdG9vbHMvbWlzYy94ZW4tZGlhZy5jIHwgMTI5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZp bGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMv bWlzYy94ZW4tZGlhZy5jCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbWlzYy9NYWtlZmlsZSBiL3Rvb2xz L21pc2MvTWFrZWZpbGUKaW5kZXggODE1MmY3Yi4uYzExMTNiOSAxMDA2NDQKLS0tIGEvdG9vbHMv bWlzYy9NYWtlZmlsZQorKysgYi90b29scy9taXNjL01ha2VmaWxlCkBAIC0zMSw2ICszMSw3IEBA IElOU1RBTExfU0JJTiAgICAgICAgICAgICAgICAgICArPSB4ZW5wZXJmCiBJTlNUQUxMX1NCSU4g ICAgICAgICAgICAgICAgICAgKz0geGVucG0KIElOU1RBTExfU0JJTiAgICAgICAgICAgICAgICAg ICArPSB4ZW53YXRjaGRvZ2QKIElOU1RBTExfU0JJTiAgICAgICAgICAgICAgICAgICArPSB4ZW4t bGl2ZXBhdGNoCitJTlNUQUxMX1NCSU4gICAgICAgICAgICAgICAgICAgKz0geGVuLWRpYWcKIElO U1RBTExfU0JJTiArPSAkKElOU1RBTExfU0JJTi15KQogCiAjIEV2ZXJ5dGhpbmcgdG8gYmUgaW5z dGFsbGVkIGluIGEgcHJpdmF0ZSBiaW4vCkBAIC0xMDIsNiArMTAzLDkgQEAgeGVud2F0Y2hkb2dk OiB4ZW53YXRjaGRvZ2QubwogeGVuLWxpdmVwYXRjaDogeGVuLWxpdmVwYXRjaC5vCiAJJChDQykg JChMREZMQUdTKSAtbyAkQCAkPCAkKExETElCU19saWJ4ZW5jdHJsKSAkKEFQUEVORF9MREZMQUdT KQogCit4ZW4tZGlhZzogeGVuLWRpYWcubworCSQoQ0MpICQoTERGTEFHUykgLW8gJEAgJDwgJChM RExJQlNfbGlieGVuY3RybCkgJChBUFBFTkRfTERGTEFHUykKKwogeGVuLWxvd21lbWQ6IHhlbi1s b3dtZW1kLm8KIAkkKENDKSAkKExERkxBR1MpIC1vICRAICQ8ICQoTERMSUJTX2xpYnhlbmV2dGNo bikgJChMRExJQlNfbGlieGVuY3RybCkgJChMRExJQlNfbGlieGVuc3RvcmUpICQoQVBQRU5EX0xE RkxBR1MpCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL21pc2MveGVuLWRpYWcuYyBiL3Rvb2xzL21pc2Mv eGVuLWRpYWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGE1MGUxCi0t LSAvZGV2L251bGwKKysrIGIvdG9vbHMvbWlzYy94ZW4tZGlhZy5jCkBAIC0wLDAgKzEsMTI5IEBA CisvKgorICogQ29weXJpZ2h0IChjKSAyMDE3IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMu IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVk ZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNs dWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx4ZW5jdHJsLmg+ CisKKyNpbmNsdWRlIDx4ZW4vZXJybm8uaD4KKyNpbmNsdWRlIDx4ZW4tdG9vbHMvbGlicy5oPgor CitzdGF0aWMgeGNfaW50ZXJmYWNlICp4Y2g7CisKKyNkZWZpbmUgQVJSQVlfU0laRShhKSAoc2l6 ZW9mIChhKSAvIHNpemVvZiAoKGEpWzBdKSkKKwordm9pZCBzaG93X2hlbHAodm9pZCkKK3sKKyAg ICBmcHJpbnRmKHN0ZGVyciwKKyAgICAgICAgICAgICJ4ZW4tZGlhZzogeGVuIGRpYWdub3N0aWMg dXRpbGl0eVxuIgorICAgICAgICAgICAgIlVzYWdlOiB4ZW4tZGlhZyBjb21tYW5kIFthcmdzXVxu IgorICAgICAgICAgICAgIkNvbW1hbmRzOlxuIgorICAgICAgICAgICAgIiAgaGVscCAgICAgICAg ICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyAgICAgICAgICAgICIgIGdudHRh Yl9xdWVyeV9zaXplIDxkb21pZD4gIGR1bXAgdGhlIGN1cnJlbnQgYW5kIG1heCBncmFudCBmcmFt ZXMgZm9yIDxkb21pZD5cbiIpOworfQorCisvKiB3cmFwcGVyIGZ1bmN0aW9uICovCitzdGF0aWMg aW50IGhlbHBfZnVuYyhpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIHNob3dfaGVscCgp OworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdudHRhYl9xdWVyeV9zaXplX2Z1bmMo aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgICBpbnQgZG9taWQsIHJjID0gMTsKKyAgICBz dHJ1Y3QgZ250dGFiX3F1ZXJ5X3NpemUgcXVlcnk7CisKKyAgICBpZiAoIGFyZ2MgIT0gMSApCisg ICAgeworICAgICAgICBzaG93X2hlbHAoKTsKKyAgICAgICAgcmV0dXJuIHJjOworICAgIH0KKwor ICAgIGRvbWlkID0gc3RydG9sKGFyZ3ZbMF0sIE5VTEwsIDEwKTsKKyAgICBxdWVyeS5kb20gPSBk b21pZDsKKyAgICByYyA9IHhjX2dudHRhYl9xdWVyeV9zaXplKHhjaCwgJnF1ZXJ5KTsKKworICAg IGlmICggcmMgPT0gMCAmJiAocXVlcnkuc3RhdHVzID09IEdOVFNUX29rYXkpICkKKyAgICAgICAg cHJpbnRmKCJkb21pZD0lZDogbnJfZnJhbWVzPSVkLCBtYXhfbnJfZnJhbWVzPSVkXG4iLAorICAg ICAgICAgICAgICAgcXVlcnkuZG9tLCBxdWVyeS5ucl9mcmFtZXMsIHF1ZXJ5Lm1heF9ucl9mcmFt ZXMpOworCisgICAgcmV0dXJuIHJjID09IDAgJiYgKHF1ZXJ5LnN0YXR1cyA9PSBHTlRTVF9va2F5 KSA/IDAgOiAxOworfQorCitzdHJ1Y3QgeworICAgIGNvbnN0IGNoYXIgKm5hbWU7CisgICAgaW50 ICgqZnVuY3Rpb24pKGludCBhcmdjLCBjaGFyICphcmd2W10pOworfSBtYWluX29wdGlvbnNbXSA9 IHsKKyAgICB7ICJoZWxwIiwgaGVscF9mdW5jIH0sCisgICAgeyAiZ250dGFiX3F1ZXJ5X3NpemUi LCBnbnR0YWJfcXVlcnlfc2l6ZV9mdW5jfSwKK307CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCit7CisgICAgaW50IHJldCwgaTsKKworICAgIC8qCisgICAgICogU2V0IHN0ZG91 dCB0byBiZSB1bmJ1ZmZlcmVkIHRvIGF2b2lkIGhhdmluZyB0byBmZmx1c2ggd2hlbgorICAgICAq IHByaW50aW5nIHdpdGhvdXQgYSBuZXdsaW5lLgorICAgICAqLworICAgIHNldHZidWYoc3Rkb3V0 LCBOVUxMLCBfSU9OQkYsIDApOworCisgICAgaWYgKCBhcmdjIDw9IDEgKQorICAgIHsKKyAgICAg ICAgc2hvd19oZWxwKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGZvciAoIGkg PSAwOyBpIDwgQVJSQVlfU0laRShtYWluX29wdGlvbnMpOyBpKysgKQorICAgICAgICBpZiAoICFz dHJuY21wKG1haW5fb3B0aW9uc1tpXS5uYW1lLCBhcmd2WzFdLCBzdHJsZW4oYXJndlsxXSkpICkK KyAgICAgICAgICAgIGJyZWFrOworCisgICAgaWYgKCBpID09IEFSUkFZX1NJWkUobWFpbl9vcHRp b25zKSApCisgICAgeworICAgICAgICBzaG93X2hlbHAoKTsKKyAgICAgICAgcmV0dXJuIDA7Cisg ICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHhjaCA9IHhjX2ludGVyZmFjZV9vcGVuKDAs IDAsIDApOworICAgICAgICBpZiAoICF4Y2ggKQorICAgICAgICB7CisgICAgICAgICAgICBmcHJp bnRmKHN0ZGVyciwgImZhaWxlZCB0byBnZXQgdGhlIGhhbmRsZXJcbiIpOworICAgICAgICAgICAg cmV0dXJuIDA7CisgICAgICAgIH0KKworICAgICAgICByZXQgPSBtYWluX29wdGlvbnNbaV0uZnVu Y3Rpb24oYXJnYyAtIDIsIGFyZ3YgKyAyKTsKKworICAgICAgICB4Y19pbnRlcmZhY2VfY2xvc2Uo eGNoKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEV4aXRjb2RlIDAgZm9yIHN1Y2Nlc3MuCisg ICAgICogRXhpdGNvZGUgMSBmb3IgYW4gZXJyb3IuCisgICAgICogRXhpdGNvZGUgMiBpZiB0aGUg b3BlcmF0aW9uIHNob3VsZCBiZSByZXRyaWVkIGZvciBhbnkgcmVhc29uIChlLmcuIGEKKyAgICAg KiB0aW1lb3V0IG9yIGJlY2F1c2UgYW5vdGhlciBvcGVyYXRpb24gd2FzIGluIHByb2dyZXNzKS4K KyAgICAgKi8KKworI2RlZmluZSBFWElUX1RJTUVPVVQgKEVYSVRfRkFJTFVSRSArIDEpCisKKyAg ICBCVUlMRF9CVUdfT04oRVhJVF9TVUNDRVNTICE9IDApOworICAgIEJVSUxEX0JVR19PTihFWElU X0ZBSUxVUkUgIT0gMSk7CisgICAgQlVJTERfQlVHX09OKEVYSVRfVElNRU9VVCAhPSAyKTsKKwor ICAgIHN3aXRjaCAoIHJldCApCisgICAgeworICAgIGNhc2UgMDoKKyAgICAgICAgcmV0dXJuIEVY SVRfU1VDQ0VTUzsKKyAgICBjYXNlIEVBR0FJTjoKKyAgICBjYXNlIEVCVVNZOgorICAgICAgICBy ZXR1cm4gRVhJVF9USU1FT1VUOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBFWElUX0ZB SUxVUkU7CisgICAgfQorfQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK