From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 27/62] xen/pvshim: keep track of used PFN ranges Date: Fri, 12 Jan 2018 11:28:35 +0000 Message-ID: <20180112112910.16762-28-wei.liu2@citrix.com> References: <20180112112910.16762-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZxzC-0003Ml-R6 for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 11:59:02 +0000 In-Reply-To: <20180112112910.16762-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org U2ltcGxlIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgUEZOIHNwYWNlIHVzYWdlLCBz byB0aGF0IHdlIGNhbgp1c2UgdW5wb3B1bGF0ZWQgUEZOcyB0byBtYXAgc3BlY2lhbCBwYWdlcyBs aWtlIHNoYXJlZCBpbmZvIGFuZCBncmFudAp0YWJsZS4KCkFzIHJhbmdlc2V0IGRlcGVuZHMgb24g bWFsbG9jIGJlaW5nIHJlYWR5IHNvIGh5cGVydmlzb3Jfc2V0dXAgaXMKaW50cm9kdWNlZCBmb3Ig dGhpbmdzIHRoYXQgY2FuIGJlIGluaXRpYWxpc2VkIGxhdGUgaW4gdGhlIHByb2Nlc3MuCgpOb3Rl IHRoYXQgdGhlIFBGTiBpcyBtYXJrZWQgYXMgcmVzZXJ2ZWQgYXQgbGVhc3QgdXAgdG8gNEdpQiAo b3IgbW9yZQppZiB0aGUgZ3Vlc3QgaGFzIG1vcmUgbWVtb3J5KS4gVGhpcyBpcyBub3QgYSBwZXJm ZWN0IHNvbHV0aW9uIGJ1dAphdm9pZHMgdXNpbmcgdGhlIE1NSU8gaG9sZSBiZWxvdyA0R2lCLiBJ ZGVhbGx5IHRoZSBzaGltIChMMSkgc2hvdWxkCmhhdmUgYSB3YXkgdG8gYXNrIHRoZSB1bmRlcmx5 aW5nIFhlbiAoTDApIHdoaWNoIG1lbW9yeSByZWdpb25zIGFyZQpwb3B1bGF0ZWQsIHVucG9wdWxh dGVkLCBvciBNTUlPIHNwYWNlLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm5lIDxyb2dl ci5wYXVAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvZ3Vlc3QveGVuLmMgICAgICAgIHwgNTYgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAg ICAgICAgICAgfCAgMyArKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QveGVuLmggfCAgNyAr KysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9ndWVzdC94ZW4uYyBiL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4uYwppbmRleCBj MjUzZWJkOTgzLi5hYmY1M2ViYmM2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZ3Vlc3QveGVu LmMKKysrIGIveGVuL2FyY2gveDg2L2d1ZXN0L3hlbi5jCkBAIC0xOSw4ICsxOSwxMiBAQAogICog Q29weXJpZ2h0IChjKSAyMDE3IENpdHJpeCBTeXN0ZW1zIEx0ZC4KICAqLwogI2luY2x1ZGUgPHhl bi9pbml0Lmg+CisjaW5jbHVkZSA8eGVuL21tLmg+CisjaW5jbHVkZSA8eGVuL3Bmbi5oPgorI2lu Y2x1ZGUgPHhlbi9yYW5nZXNldC5oPgogI2luY2x1ZGUgPHhlbi90eXBlcy5oPgogCisjaW5jbHVk ZSA8YXNtL2U4MjAuaD4KICNpbmNsdWRlIDxhc20vZ3Vlc3QuaD4KICNpbmNsdWRlIDxhc20vbXNy Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgpAQCAtMzEsNiArMzUsNyBAQCBib29sIF9f cmVhZF9tb3N0bHkgeGVuX2d1ZXN0OwogCiBzdGF0aWMgX19yZWFkX21vc3RseSB1aW50MzJfdCB4 ZW5fY3B1aWRfYmFzZTsKIGV4dGVybiBjaGFyIGh5cGVyY2FsbF9wYWdlW107CitzdGF0aWMgc3Ry dWN0IHJhbmdlc2V0ICptZW07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBmaW5kX3hlbl9sZWF2ZXMo dm9pZCkKIHsKQEAgLTcyLDYgKzc3LDU3IEBAIHZvaWQgX19pbml0IHByb2JlX2h5cGVydmlzb3Io dm9pZCkKICAgICB4ZW5fZ3Vlc3QgPSB0cnVlOwogfQogCitzdGF0aWMgdm9pZCBfX2luaXQgaW5p dF9tZW1tYXAodm9pZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIG1lbSA9IHJhbmdl c2V0X25ldyhOVUxMLCAiaG9zdCBtZW1vcnkgbWFwIiwgMCk7CisgICAgaWYgKCAhbWVtICkKKyAg ICAgICAgcGFuaWMoImZhaWxlZCB0byBhbGxvY2F0ZSBQRk4gdXNhZ2UgcmFuZ2VzZXQiKTsKKwor ICAgIC8qCisgICAgICogTWFyayB1cCB0byB0aGUgbGFzdCBtZW1vcnkgcGFnZSAob3IgNEdpQikg YXMgUkFNLiBUaGlzIGlzIGRvbmUgYmVjYXVzZQorICAgICAqIFhlbiBkb2Vzbid0IGtub3cgdGhl IHBvc2l0aW9uIG9mIHBvc3NpYmxlIE1NSU8gaG9sZXMsIHNvIGF0IGxlYXN0IHRyeSB0bworICAg ICAqIGF2b2lkIHRoZSBrbm93IE1NSU8gaG9sZSBiZWxvdyA0R2lCLiBOb3RlIHRoYXQgdGhpcyBp cyBzdWJqZWN0IHRvIGZ1dHVyZQorICAgICAqIGRpc2N1c3Npb24gYW5kIGltcHJvdmVtZW50cy4K KyAgICAgKi8KKyAgICBpZiAoIHJhbmdlc2V0X2FkZF9yYW5nZShtZW0sIDAsIG1heF90KHVuc2ln bmVkIGxvbmcsIG1heF9wYWdlIC0gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBGTl9ET1dOKEdCKDQpIC0gMSkpKSApCisgICAgICAgIHBhbmljKCJ1bmFibGUg dG8gYWRkIFJBTSB0byBpbi11c2UgUEZOIHJhbmdlc2V0Iik7CisKKyAgICBmb3IgKCBpID0gMDsg aSA8IGU4MjAubnJfbWFwOyBpKysgKQorICAgIHsKKyAgICAgICAgc3RydWN0IGU4MjBlbnRyeSAq ZSA9ICZlODIwLm1hcFtpXTsKKworICAgICAgICBpZiAoIHJhbmdlc2V0X2FkZF9yYW5nZShtZW0s IFBGTl9ET1dOKGUtPmFkZHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5f VVAoZS0+YWRkciArIGUtPnNpemUgLSAxKSkgKQorICAgICAgICAgICAgcGFuaWMoInVuYWJsZSB0 byBhZGQgcmFuZ2UgWyUjbHgsICUjbHhdIHRvIGluLXVzZSBQRk4gcmFuZ2VzZXQiLAorICAgICAg ICAgICAgICAgICAgUEZOX0RPV04oZS0+YWRkciksIFBGTl9VUChlLT5hZGRyICsgZS0+c2l6ZSAt IDEpKTsKKyAgICB9Cit9CisKK3ZvaWQgX19pbml0IGh5cGVydmlzb3Jfc2V0dXAodm9pZCkKK3sK KyAgICBpbml0X21lbW1hcCgpOworfQorCitpbnQgaHlwZXJ2aXNvcl9hbGxvY191bnVzZWRfcGFn ZShtZm5fdCAqbWZuKQoreworICAgIHVuc2lnbmVkIGxvbmcgbTsKKyAgICBpbnQgcmM7CisKKyAg ICByYyA9IHJhbmdlc2V0X2NsYWltX3JhbmdlKG1lbSwgMSwgJm0pOworICAgIGlmICggIXJjICkK KyAgICAgICAgKm1mbiA9IF9tZm4obSk7CisKKyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBoeXBl cnZpc29yX2ZyZWVfdW51c2VkX3BhZ2UobWZuX3QgbWZuKQoreworICAgIHJldHVybiByYW5nZXNl dF9yZW1vdmVfcmFuZ2UobWVtLCBtZm5feChtZm4pLCBtZm5feChtZm4pKTsKK30KKwogLyoKICAq IExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9z ZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggOWMzZDc1NjNmMy4uMzJlYzc0MTU5 MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3Nl dHVwLmMKQEAgLTE0NzIsNiArMTQ3Miw5IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRf eGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgIG1heF9jcHVzID0gbnJfY3B1X2lkczsK ICAgICB9CiAKKyAgICBpZiAoIHhlbl9ndWVzdCApCisgICAgICAgIGh5cGVydmlzb3Jfc2V0dXAo KTsKKwogICAgIC8qIExvdyBtYXBwaW5ncyB3ZXJlIG9ubHkgbmVlZGVkIGZvciBzb21lIEJJT1Mg dGFibGUgcGFyc2luZy4gKi8KICAgICB6YXBfbG93X21hcHBpbmdzKCk7CiAKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QveGVuLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2d1 ZXN0L3hlbi5oCmluZGV4IDk3YTdjOGQ1MzEuLjQyNzgzNzc5N2IgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL2FzbS14ODYvZ3Vlc3QveGVuLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVz dC94ZW4uaApAQCAtMjYsMTIgKzI2LDE5IEBACiBleHRlcm4gYm9vbCB4ZW5fZ3Vlc3Q7CiAKIHZv aWQgcHJvYmVfaHlwZXJ2aXNvcih2b2lkKTsKK3ZvaWQgaHlwZXJ2aXNvcl9zZXR1cCh2b2lkKTsK K2ludCBoeXBlcnZpc29yX2FsbG9jX3VudXNlZF9wYWdlKG1mbl90ICptZm4pOworaW50IGh5cGVy dmlzb3JfZnJlZV91bnVzZWRfcGFnZShtZm5fdCBtZm4pOwogCiAjZWxzZQogCiAjZGVmaW5lIHhl bl9ndWVzdCAwCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwcm9iZV9oeXBlcnZpc29yKHZvaWQpIHt9 Oworc3RhdGljIGlubGluZSB2b2lkIGh5cGVydmlzb3Jfc2V0dXAodm9pZCkKK3sKKyAgICBBU1NF UlRfVU5SRUFDSEFCTEUoKTsKK30KIAogI2VuZGlmIC8qIENPTkZJR19YRU5fR1VFU1QgKi8KICNl bmRpZiAvKiBfX1g4Nl9HVUVTVF9YRU5fSF9fICovCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs