From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC 03/55] x86: introduce a new set of APIs to manage Xen page tables Date: Thu, 7 Feb 2019 16:44:04 +0000 Message-ID: <20190207164456.9260-4-wei.liu2@citrix.com> References: <20190207164456.9260-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.89) (envelope-from ) id 1grmnO-0006dT-Or for xen-devel@lists.xenproject.org; Thu, 07 Feb 2019 16:45:02 +0000 In-Reply-To: <20190207164456.9260-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@lists.xenproject.org Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org V2UgYXJlIGdvaW5nIHRvIHN3aXRjaCB0byB1c2luZyBkb21oZWFwIHBhZ2UgZm9yIHBhZ2UgdGFi bGVzLgpBIG5ldyBzZXQgb2YgQVBJcyBpcyBpbnRyb2R1Y2VkIHRvIGFsbG9jYXRlLCBtYXAsIHVu bWFwIGFuZCBmcmVlIHBhZ2VzCmZvciBwYWdlIHRhYmxlcy4KClRoZSBhbGxvY2F0aW9uIGFuZCBk ZWFsbG9jYXRpb24gd29yayBvbiBtZm5fdCBidXQgbm90IHBhZ2VfaW5mbywKYmVjYXVzZSB0aGV5 IGFyZSByZXF1aXJlZCB0byB3b3JrIGV2ZW4gYmVmb3JlIGZyYW1lIHRhYmxlIGlzIHNldCB1cC4K CkltcGxlbWVudCB0aGUgb2xkIGZ1bmN0aW9ucyB3aXRoIHRoZSBuZXcgb25lcy4gV2Ugd2lsbCBy ZXdyaXRlLCBzaXRlCmJ5IHNpdGUsIG90aGVyIG1tIGZ1bmN0aW9ucyB0aGF0IG1hbmlwdWxhdGUg cGFnZSB0YWJsZXMgdG8gdXNlIHRoZSBuZXcKQVBJcy4KCk5vdGUgdGhlc2UgbmV3IEFQSXMgc3Rp bGwgdXNlIHhlbmhlYXAgcGFnZSB1bmRlcm5lYXRoIGFuZCBubyBhY3R1YWwKbWFwIGFuZCB1bm1h cCBpcyBkb25lIHNvIHRoYXQgd2UgZG9uJ3QgYnJlYWsgeGVuIGhhbGYgd2F5LiBUaGV5IHdpbGwK YmUgc3dpdGNoZWQgdG8gdXNlIGRvbWhlYXAgYW5kIGR5bmFtaWMgbWFwcGluZ3Mgd2hlbiB1c2Fn ZSBvZiBvbGQgQVBJcwppcyBlbGltaW5hdGVkLgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5k ZWQgaW4gdGhpcyBwYXRjaC4KClNpZ25lZC1vZmYtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJp eC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L21tLmMgICAgICAgIHwgMzkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L21tLmggfCAxMSAr KysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMK aW5kZXggMDQzMDk4ZDg0Zi4uMDllNzU1ZGJjNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21t LmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTEwMyw2ICsxMDMsNyBAQAogI2luY2x1ZGUg PHhlbi9lZmkuaD4KICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KICNpbmNsdWRlIDx4ZW4v aHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8eGVuL21tLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2luZy5o PgogI2luY2x1ZGUgPGFzbS9zaGFkb3cuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgpAQCAtNDcy MSwyMSArNDcyMiw0OSBAQCBpbnQgbW1jZmdfaW50ZXJjZXB0X3dyaXRlKAogCiB2b2lkICphbGxv Y194ZW5fcGFnZXRhYmxlKHZvaWQpCiB7CisgICAgbWZuX3QgbWZuOworCisgICAgbWZuID0gYWxs b2NfeGVuX3BhZ2V0YWJsZV9uZXcoKTsKKyAgICBBU1NFUlQoIW1mbl9lcShtZm4sIElOVkFMSURf TUZOKSk7CisKKyAgICByZXR1cm4gbWFwX3hlbl9wYWdldGFibGVfbmV3KG1mbik7Cit9CisKK3Zv aWQgZnJlZV94ZW5fcGFnZXRhYmxlKHZvaWQgKnYpCit7CisgICAgaWYgKCBzeXN0ZW1fc3RhdGUg IT0gU1lTX1NUQVRFX2Vhcmx5X2Jvb3QgKQorICAgICAgICBmcmVlX3hlbl9wYWdldGFibGVfbmV3 KHZpcnRfdG9fbWZuKHYpKTsKK30KKworbWZuX3QgYWxsb2NfeGVuX3BhZ2V0YWJsZV9uZXcodm9p ZCkKK3sKICAgICBpZiAoIHN5c3RlbV9zdGF0ZSAhPSBTWVNfU1RBVEVfZWFybHlfYm9vdCApCiAg ICAgewogICAgICAgICB2b2lkICpwdHIgPSBhbGxvY194ZW5oZWFwX3BhZ2UoKTsKIAogICAgICAg ICBCVUdfT04oIWhhcmR3YXJlX2RvbWFpbiAmJiAhcHRyKTsKLSAgICAgICAgcmV0dXJuIHB0cjsK KyAgICAgICAgcmV0dXJuIHZpcnRfdG9fbWZuKHB0cik7CiAgICAgfQogCi0gICAgcmV0dXJuIG1m bl90b192aXJ0KG1mbl94KGFsbG9jX2Jvb3RfcGFnZXMoMSwgMSkpKTsKKyAgICByZXR1cm4gYWxs b2NfYm9vdF9wYWdlcygxLCAxKTsKIH0KIAotdm9pZCBmcmVlX3hlbl9wYWdldGFibGUodm9pZCAq dikKK3ZvaWQgKm1hcF94ZW5fcGFnZXRhYmxlX25ldyhtZm5fdCBtZm4pCiB7Ci0gICAgaWYgKCBz eXN0ZW1fc3RhdGUgIT0gU1lTX1NUQVRFX2Vhcmx5X2Jvb3QgKQotICAgICAgICBmcmVlX3hlbmhl YXBfcGFnZSh2KTsKKyAgICByZXR1cm4gbWZuX3RvX3ZpcnQobWZuX3gobWZuKSk7Cit9CisKKy8q IHYgY2FuIHBvaW50IHRvIGFuIGVudHJ5IHdpdGhpbiBhIHRhYmxlIG9yIGJlIE5VTEwgKi8KK3Zv aWQgdW5tYXBfeGVuX3BhZ2V0YWJsZV9uZXcodm9pZCAqdikKK3sKKyAgICAvKiBYWFggc3RpbGwg dXNpbmcgeGVuaGVhcCBwYWdlLCBubyBuZWVkIHRvIGRvIGFueXRoaW5nLiAgKi8KK30KKworLyog bWZuIGNhbiBiZSBJTlZBTElEX01GTiAqLwordm9pZCBmcmVlX3hlbl9wYWdldGFibGVfbmV3KG1m bl90IG1mbikKK3sKKyAgICBpZiAoIHN5c3RlbV9zdGF0ZSAhPSBTWVNfU1RBVEVfZWFybHlfYm9v dCAmJiAhbWZuX2VxKG1mbiwgSU5WQUxJRF9NRk4pICkKKyAgICAgICAgZnJlZV94ZW5oZWFwX3Bh Z2UobWZuX3RvX3ZpcnQobWZuX3gobWZuKSkpOwogfQogCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NL KG1hcF9wZ2Rpcl9sb2NrKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAppbmRleCAwMDA5ZmNhMDhiLi40Mzc4ZDlmODE1IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9tbS5oCkBAIC02NDQsNiArNjQ0LDE3IEBAIGludCBhcmNoX2FjcXVpcmVfcmVzb3VyY2Uo c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHR5cGUsCiAvKiBBbGxvY2F0b3IgZnVuY3Rp b25zIGZvciBYZW4gcGFnZXRhYmxlcy4gKi8KIHZvaWQgKmFsbG9jX3hlbl9wYWdldGFibGUodm9p ZCk7CiB2b2lkIGZyZWVfeGVuX3BhZ2V0YWJsZSh2b2lkICp2KTsKK21mbl90IGFsbG9jX3hlbl9w YWdldGFibGVfbmV3KHZvaWQpOwordm9pZCAqbWFwX3hlbl9wYWdldGFibGVfbmV3KG1mbl90IG1m bik7Cit2b2lkIHVubWFwX3hlbl9wYWdldGFibGVfbmV3KHZvaWQgKnYpOwordm9pZCBmcmVlX3hl bl9wYWdldGFibGVfbmV3KG1mbl90IG1mbik7CisKKyNkZWZpbmUgVU5NQVBfWEVOX1BBR0VUQUJM RV9ORVcocHRyKSAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorICAgICAgICB1bm1hcF94ZW5fcGFnZXRhYmxlX25ldygocHRyKSk7IFwKKyAgICAgICAgKHB0 cikgPSBOVUxMOyAgICAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSAoMCkKKwogbDFfcGdl bnRyeV90ICp2aXJ0X3RvX3hlbl9sMWUodW5zaWduZWQgbG9uZyB2KTsKIAogI2VuZGlmIC8qIF9f QVNNX1g4Nl9NTV9IX18gKi8KLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=